显示旧/过时条目的 git 分支的选项卡完成

Rya*_*Lue 3 git autocomplete

我正处于一种弗兰肯德式的延伸/sid(这不是最好的主意,我知道;计划很快重新安装)。

Tab 补全适用于 git repo 目录中的 git 分支名称:

:~/project $ git checkout <TAB><TAB>
Display all 200 possibilities? (y or n)

:~/project $ git checkout private-rl_<TAB><TAB>
private-rl_1219_misspelled_locale_zhtw   private-rl_1950_scheduler_offset         private-rl_bootstrap_rake_tasks
private-rl_1854_ldap_filter_reset        private-rl_bootstrap_rake_task
Run Code Online (Sandbox Code Playgroud)

但是它显示的一些分支不再存在:

:~/project $ git branch
* develop
  private-rl_1219_misspelled_locale_zhtw
  stable
Run Code Online (Sandbox Code Playgroud)

删除的远程分支也会发生这种情况。

这里发生了什么?git 完成脚本是否保留了可以以某种方式刷新的旧分支的缓存?如何阻止这些分支在我的选项卡完成结果中累积?

Rya*_*Lue 5

我想通了,感谢@PatrickMevzek 的一些温和刺激:

我看到的分支实际上是对已经被删除的远程分支的引用。引用上面链接的 SO 线程中的最佳答案,

$ git remote prune origin
Run Code Online (Sandbox Code Playgroud)

为我修好了。