从git 1.6.6开始,有一个非常方便的缩写用于检出远程分支。你可以写:
git checkout test
而不是
git checkout -b test origin/test
这种行为虽然过去和终端中的git-completion
一起造成了一些麻烦。首先,完成总是列出所有远程分支,然后我不小心检出了一个远程分支,其名称与我实际想要的本地分支类似。
所以我的问题是,是否可以强制git不接受上述缩写(反过来git-completion / bash-completion)?
答案 0 :(得分:0)
为防止git-completion在完成制表符git checkout [TAB]
时考虑远程分支,我最终修改了git-completion.bash
,如下所示:
_git-checkout()
...__git_refs...
...__git_head...
为了进一步保留自动完成远程分支(以及只有远程分支到原始分支)的功能,我做了以下
git config --global alias.rco checkout
_git-checkout()
复制为_git-rco()
$(__git_refs '' $track)
替换为$(__git_refs 'origin' $track)