我曾经有一个部分工作版本的git自动完成从https://github.com/git/git/tree/master/contrib/completion。我一直在搞乱,现在已经完全破碎了。重置git自动完成缓存?
最初的自动完成可以完成所有的git命令和分支;但是,它不会显示我的任何别名。我试图通过摆弄很多东西来解决这个问题。我结束了然后打破它,所以它不会自动完成别名或分支(git checkout <TAB><TAB>
只有当有大量分支时才显示HEAD)。然后我真的打破了它...
什么可能已经打破它是我相信我跑__git_complete map git_map
其中map
是我在我的gitconfig文件中做的git别名。现在,当我尝试做一个git自动完成时,它只显示下面显示的一个奇怪的选项列表。这些是一些命令,例如rebase
,我在我的系统中使用的别名以及像s
(系统)和map
(全局)这样的全局文件,以及其他我不完全确定的内容。
git <TAB> <TAB>
a cm master
aa d mergetool
ac filter-branch p4
acm gui rebase
addnw imap-send request-pull
alias instaweb s
au l send-email
bisect lg spull
c ll spush
ca llg stash
citool map submodule
clang-format-mp-3.8 mapall subtree
clang-format-mp-3.9 mapblame svn
有没有办法只是重置所有自动完成选项。重新启动我的系统,重新下载完成脚本都没有做任何事情。看起来这个工具仍然有效,但是我已经打破了它自己可用的命令。如果有某种可以为自动完成工具重置的缓存,我会有足够的内容恢复到原始状态。
我在OSX 10.10.5,GNU bash版本3.2.57(1)-release(x86_64-apple-darwin14),git版本2.14.1。
编辑:我认为我是真的flubbed东西是__git_complete git __git_main
。