Git: обновление информации об удаленной ветке - PullRequest
124 голосов
/ 22 октября 2010

В репозитории git удаленная ветка, которую я не отслеживаю, была удалена.Когда я набираю

git branch -r

, удаленная ветвь все еще отображается (и я могу это проверить)

Какую команду git мне нужно запустить для обновления этой информации?

Ответы [ 6 ]

280 голосов
/ 22 октября 2010

Если это были ветви в удаленном хранилище , которые были удалены, и вы хотите обновить все локальные ветви удаленного отслеживания сразу, вы можете использовать

$ git remote prune <remotename>

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

См. git remote документацию.

180 голосов
/ 26 июня 2013
git remote update --prune

Следует обновить все ветви удаленных устройств, добавить новые и удалить удаленные.

Редактировать: Команда remote update в основном выбирает список филиалов на удаленном компьютере.Опция --prune избавит от ваших локальных удаленных веток отслеживания, которые указывают на ветви, которых больше нет на remote .

39 голосов
/ 22 октября 2010

Если вы выполняете что-то вроде

git branch -d -r remote_name/branch_name

Вы только удалите свой локальный заказ. Эта команда ничего не делает с удаленным репозиторием, поэтому она по-прежнему отображается.

Решение:

git push origin :branch_name

удалит удаленную ветку (обратите внимание на ':'), а

git branch -d branch_name

удалит ваш локальный заказ.

( ссылка )

14 голосов
/ 26 августа 2014

Также полезно для просмотра новых удаленных веток:

git fetch --all
2 голосов
/ 28 октября 2013

Попробуйте эту команду

git gc --prune=now
2 голосов
/ 22 октября 2010

Вы можете комбинировать флаги -r и -d для удаления удаленных ветвей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...