RuM*_*N S 5 git bash tab-completion bash-completion
在新版本的 git 中添加了我可能永远不会使用的新命令。
有没有办法可以禁用这些命令,以便我的选项卡完成速度更快?
例如:以前,git check<tab>会自动完成git checkout
但现在git check<tab>由于有git check-mailmap较新的 git 版本而无法完成选项卡。
这只是其中的一个例子。
或者,如果我可以“强制”git 将选项卡完整地“检查”到checkout.
编辑:我使用 vanilla bash 没有额外的修改
官方的方法是使用配置completion.commands并删除您不想要的配置:
git config --global completion.commands -check-mailmap
Run Code Online (Sandbox Code Playgroud)
但是,您还可以做得更多。有一个 hack__git_main()用于测试,你可以滥用它来做你想做的事:
GIT_TESTING_PORCELAIN_COMMAND_LIST="$(git --list-cmds=list-mainporcelain,alias)"
Run Code Online (Sandbox Code Playgroud)
这将强制 Git 完成仅显示主要命令(和别名)。
您需要 Git v2.18 或更高版本才能使它们工作。