如何从自动完成中删除已删除的分支名称?

时间:2013-07-29 20:17:31

标签: git

我使用git branch -d myBranch删除分支。但是,当我在掌握并尝试使用git checkout签出新分支时,myBranch仍会显示在标签自动填充中。

如何从myBranch的标签自动填充中删除名称git checkout

2 个答案:

答案 0 :(得分:127)

git fetch --prune --all

将此作为自己的答案发布,因为它是一行修复,但如果您投票,请务必投票支持@ twalberg的答案。

@ twalberg对git branch -a的建议使我走上正轨;我的同事建议git fetch --prune --all修剪所有遥控器上的所有死枝,这对于许多带有大量叉子的开发人员来说非常有用。

答案 1 :(得分:63)

一个可能的原因是,如果远程分支(例如origin/myBranch)仍然存在,那么git checkout myBranch将成为git checkout -b myBranch origin/myBranch的替代。这是为了方便第一次签出远程分支的常见情况,创建一个同名的本地跟踪分支。

还有其他可能性,取决于您用于完成的具体内容,但这是我要检查的第一件事。如果您运行git branch -a,并且列出了origin/myBranch(或者origin以外的远程{{1}},如果您有这样的话,那么这可能是罪魁祸首。