git远程分支删除,但仍然出现在“分支-a”
让我们说,我有一个名叫coolbranch
的分支在我的仓库中。
现在,我决定删除它(远程和本地):
git push origin :coolbranch git branch -D coolbranch
大! 现在分支真的被删除了。
但是当我跑步
git branch -a
我仍然得到:
remotes/origin/coolbranch
需要注意的是,当我克隆一个新的存储库,一切都很好, git branch -a
不显示分支。
我想知道 – 有没有办法从branch -a
删除branch -a
列表而不克隆新的实例?
git remote prune origin
,如其他答案中的build议,将删除所有这样的陈旧的分支。 这在大多数情况下可能是你想要的,但是如果你想删除那个特定的远程跟踪分支,你应该这样做:
git branch -d -r origin/coolbranch
( -r
很容易忘记…)
-r在这种情况下将“列出或删除(如果与-d一起使用)远程跟踪分支”。 根据这里find的git文档: https : //git-scm.com/docs/git-branch
你尝试: git remote prune origin
从git远程文档 :
修剪
删除<名称>下的所有陈旧的远程跟踪分支。 这些陈旧的分支已经从<name>引用的远程存储库中被移除,但是仍然在“remotes / <name>”中本地可用。
使用–dry-run选项,报告将修剪哪些分支,但不实际修剪它们。
不要忘记真棒
git fetch -p
取得和修剪所有的起源。
在我们的特定情况下,我们使用Stash作为远程git回购。 我们尝试了以上所有,没有任何工作。 我们结束了必须做到以下几点:
git branch –D branch-name (delete from local) git push origin :branch-name (delete from remote)
然后,当用户去改变,他们需要做到以下几点:
git fetch -p
git remote prune <remote>
其中<remote>
是源或上游的远程源名称。
例如: git remote prune origin