从制表符完成历史中删除已删除分支的最正确方法是什么?

时间:2012-11-13 20:19:32

标签: git bash tab-completion

我无法完全记住导致我进入当前场景的事件,但它发生了类似于此的某事

  • 有一个名为2-dev-inprogress
  • 的分支
  • 使用以下内容将2-dev-inprogress的分支名称更改为2-dev-wip
    • git branch -mv 2-dev-inprogress 2-dev-wip

我的问题是,当我在另一个分支机构并希望通过使用制表符完成(通常)来结帐2-dev-wip时,它只完成2-dev-,并给我两个选项:

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

那里的任何人都知道一些特定的手术从标签完成历史中删除2-dev-inprogress分支吗?我到目前为止唯一尝试的是在我的.bash_profile中注释source ~/.git-completion.bash并重启iTerm,但没有运气。我还在.git目录周围偷窥,但是害怕我会想要一些无法修复的东西。

2 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分:1)

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