7

我不完全记得导致我现在的情况的事件,但它发生类似这样的事情:

  • 有一个名为2-dev-inprogress
  • 将分支名称更改2-dev-inprogress2-dev-wip使用:
    • git branch -mv 2-dev-inprogress 2-dev-wip

我的问题是,当我在另一个分支并想2-dev-wip通过使用 tab-completion 结帐(像往常一样)时,它只会完成2-dev-,并给我两个选项:

  • 2-dev-inprogress
  • 2-dev-wip

有人知道一些特定的手术来2-dev-inprogress从标签完成历史中删除该分支吗?source ~/.git-completion.bash到目前为止,我唯一尝试过的就是在我的 .bash_profile中注释掉并重新启动 iTerm,但没有运气。我还窥探了 .git 目录,但害怕我会捏造一些无法修复的东西。

4

2 回答 2

6

接受的答案是有道理的,但在我的情况下不起作用。如果远程分支不再存在,那么您可能还需要修剪。我使用了Seth Robertson 的建议来清理我的系统并一次删除许多分支:git remote | xargs -n1 git remote prune. 如果另一个人删除了远程分支,或者在我的情况下,如果您是从另一台机器上删除的,就会发生这种情况。

于 2012-11-29T01:48:02.680 回答
1

你还有一个名为 的远程分支2-dev-inprogress吗?如果是这样,您必须通过注释掉 /etc/bash_completion.d/git 中的远程检查来删除此分支或防止远程分支的 git 完成

于 2012-11-13T21:15:00.210 回答