Как удалить удаленный ветвь git "правильно", a.k.a., обновив список удаленных веток для всех пользователей?
Я пытаюсь удалить удаленную ветвь git, однако процесс не полностью удаляет ветвь, как я ожидал.
Скажем, например, я удаляю ветвь с именем mybranch
. Для этого я запускаю следующую команду:
git push origin :mybranch
Это удаляет ветвь, как ожидалось, и если я делаю git branch -a
, она больше не отображается в списке локально или удаленно.
Проблема, с которой я столкнулась, - это если я зашел на другой компьютер, который сделал git pull
, в то время как ветвь существовала, и они выполняют git branch -a
, они все еще находятся в их списке как удаленная ветвь.
Мы пробовали несколько команд, pull
, gc
, prune
, но ничего не обновляет этот список и не удаляет удаленную ветвь.
Есть ли команда для синхронизации (я могу только предположить) локальный кеш списка удаленных веток и удалить все удаленные ветки, которые больше не существуют?
Ответы
Ответ 1
Пока они не обновят свои пульты, их git не будет знать, что произошло в репозитории. После того, как они сделали обновление (через git fetch
или git remote update
), git remote show origin
будет правильно показывать, что у них есть ветки локального отслеживания для ветвей, которые больше не существуют вверх по течению. В этот момент git remote prune
можно использовать для удаления устаревших локальных ветвей.
Ответ 2
Чтобы удалить ветки удаленного отслеживания, которые больше не существуют на пульте дистанционного управления.
git fetch -p