Подтвердить что ты не робот

Как удалить удаленный ветвь git "правильно", a.k.a., обновив список удаленных веток для всех пользователей?

Я пытаюсь удалить удаленную ветвь git, однако процесс не полностью удаляет ветвь, как я ожидал.

Скажем, например, я удаляю ветвь с именем mybranch. Для этого я запускаю следующую команду:

git push origin :mybranch

Это удаляет ветвь, как ожидалось, и если я делаю git branch -a, она больше не отображается в списке локально или удаленно.

Проблема, с которой я столкнулась, - это если я зашел на другой компьютер, который сделал git pull, в то время как ветвь существовала, и они выполняют git branch -a, они все еще находятся в их списке как удаленная ветвь.

Мы пробовали несколько команд, pull, gc, prune, но ничего не обновляет этот список и не удаляет удаленную ветвь.

Есть ли команда для синхронизации (я могу только предположить) локальный кеш списка удаленных веток и удалить все удаленные ветки, которые больше не существуют?

4b9b3361

Ответ 1

Пока они не обновят свои пульты, их git не будет знать, что произошло в репозитории. После того, как они сделали обновление (через git fetch или git remote update), git remote show origin будет правильно показывать, что у них есть ветки локального отслеживания для ветвей, которые больше не существуют вверх по течению. В этот момент git remote prune можно использовать для удаления устаревших локальных ветвей.

Ответ 2

Чтобы удалить ветки удаленного отслеживания, которые больше не существуют на пульте дистанционного управления.

git fetch -p