当我在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
我也知道我可以重新克隆该存储库,但那只是作弊 ;-)
git remote rm
首先会删除远程跟踪分支。这应该有助于避免清理旧分支。请参见我的答案。 - VonC