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

Удалить ветки, перечисленные в разделе git branch -a

Команда git branch -a содержит список ветвей, которые НЕ находятся в репозитории, и НЕ локальные ветки. Как их можно удалить?

* develop
  master
  remotes/origin/cloner

Например, remotes/origin/cloner используется для существования в репо, но с тех пор он был удален, и я бы хотел, чтобы он не появлялся при вводе git branch -a.

4b9b3361

Ответ 1

Если в этом случае есть ветки удаленного отслеживания (например, origin/cloner), которые оставлены после того, как соответствующая ветвь была удалена в удаленном репозитории, вы можете удалить все такие ветки удаленного отслеживания с помощью:

git remote prune origin

Документация для git remote объясняет это как:

Удаляет все дочерние ветки удаленного отслеживания под <name> . Эти устаревшие ветки уже удалены из удаленного репозитория, на который ссылаются < имя > , но все еще локально доступны в "remotes/< имя > ".

С опцией --dry-run сообщите, какие ветки будут обрезаны, но на самом деле их не обрезать.

Ответ 2

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

git branch -d -r origin/cloner

Ответ 3

Вы также выполняете

git push origin :cloner 

Удаление нежелательных удаленных ветвей

Ответ 4

Также может случиться, что ссылка удаленного репозитория была удалена из локального клона, но все же появляется на выходе команды git branch -a '. В любом случае вы всегда можете подавить любую ссылку, просто удалив соответствующие файлы:

$ rm -f .git/refs/remotes/cloner
$ rm -rf .git/refs/remotes/deprecated_remote