我正处于一种弗兰肯德式的延伸/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 完成脚本是否保留了可以以某种方式刷新的旧分支的缓存?如何阻止这些分支在我的选项卡完成结果中累积?
我想通了,感谢@PatrickMevzek 的一些温和刺激:
我看到的分支实际上是对已经被删除的远程分支的引用。引用上面链接的 SO 线程中的最佳答案,
$ git remote prune origin
Run Code Online (Sandbox Code Playgroud)
为我修好了。