Я нашел частичное решение.
Определите, работает ли вытягивание или нет:
если!git pull --all --prune;затем
Ветвь была удалена удаленно, поэтому ссылки больше не существуют.Но мы знаем, что является последним локальным и известным коммитом этой (локальной) ветки.Давайте посмотрим, где этот коммит был объединен (спасибо @joanis):
ORIGIN = $ (ветка git --remotes --merged "HEAD" | grep -v HEAD)
Коммит может появиться дважды, мы убираем строку "-> HEAD".Нам нужно выяснить, как называется:
BRANCH = "$ {ORIGIN / origin /}"
BRANCH = "$ {BRANCH // /}"
Итак, давайте перейдем к новой ветке:
git checkout "$ BRANCH" git pull
Предел этой ситуации, если есть большечем одна ветвь, в которой он был объединен.Этот алгоритм выбирает один из них в том порядке, в котором он перечисляется по "git branch".