【发布时间】:2013-07-02 11:35:32
【问题描述】:
当我在 Git 中使用 bash 自动完成功能时,它会不断向我显示我不再拥有的旧遥控器的分支。当我执行git branch -la 时,它会显示那些旧的遥控器和分支,而git branch -l 不会。 ls .git/refs/remotes/ 也显示了它们。但是,它们不存在于我的 .git/config 中,并且在我运行 git remote show 时也没有显示。
那么我该如何摆脱它们,因为我的自动完成列表现在太长了。
我已经试过了:
git reflog expire --expire=now --all
git gc --prune=now
rm .git/refs/remotes/theoldremote
git remote prune theoldremote
我也知道我可以重新克隆 repo 但这只是作弊 ;-)
【问题讨论】:
-
注意:a
git remote rm现在(git 2.0.1,2014 年 6 月)首先删除远程跟踪分支。这应该有助于避免清理旧树枝。见my answer below -
这是我的另一个答案:stackoverflow.com/a/44129766/3835843
标签: git