Допустим, coolbranch
в моем хранилище была названа ветка .
Теперь я решил удалить его (как удаленно, так и локально) с помощью:
git push origin :coolbranch
git branch -D coolbranch
Большой! Теперь ветка действительно удалена.
Но когда я бегу
git branch -a
Я все еще получаю:
remotes/origin/coolbranch
Стоит заметить, что когда я клонирую новый репозиторий, все в порядке и git branch -a
ветка не отображается.
Я хочу знать - есть ли способ удалить ветку из branch -a
списка без клонирования нового экземпляра?
git
git-branch
yonix
источник
источник
git fetch -p
(илиgit pull -p
), то удаленные ветви будут сокращены.Ответы:
git remote prune origin
, как предлагается в другом ответе, удалит все такие устаревшие ветви. Это, вероятно, то, что вы хотели бы в большинстве случаев, но если вы хотите просто удалить эту конкретную ветку удаленного отслеживания, вы должны сделать:(Это
-r
легко забыть ...)-r
в этом случае «Перечислите или удалите (если используется с-d
) ветви удаленного отслеживания». согласно документации Git, найденной здесь: https://git-scm.com/docs/git-branchисточник
git remote prune origin
или любая формаgit fetch --prune
пометки не работает для меня в моем случае. ... ноgit branch -d -r origin/feature/branch-name
сработало. Я не уверен, было ли это как-то связано с тем, что он находился вfeature
пространстве имен (git flow), но так оно и было, на случай, если кто-нибудь из Google обнаружит, что это происходит с ними.Пытаться:
Из удаленной документации Git :
чернослив
источник
git pull --prune
упомянутое на stackoverflow.com/a/17983126/94687 И:git remote update --prune
Не забудь офигенное
который выбирает и чернослив все происхождение.
источник
git remote prune origin
и аналогичнымgit pull --prune
упомянутым на stackoverflow.com/a/6127884/94687 и stackoverflow.com/a/17983126/94687 соответственно. И:git remote update --prune
git branch -a
git branch -a
В нашем конкретном случае мы используем Stash в качестве удаленного Git-репозитория. Мы перепробовали все предыдущие ответы и ничего не получалось. Нам пришлось сделать следующее:
Затем, когда пользователи пошли извлекать изменения, им нужно было сделать следующее:
источник
git branch -d branch-name
работал на меня. Обратите внимание-D
на-d
. Фактически, когда я пытался использовать заглавные буквы D,-D
он создал новую ветку с именем -DИспользование:
Где
<remote>
имя удаленного источника, например, происхождение или восходящий .Пример:
git remote prune origin
источник
git remote prune
,git prune
,git fetch --prune
.