3

作为对这个问题的跟进,我问自己是否可以告诉 git 为进一步的命令提供它的自动完成功能(分支等),特别是管道命令,如update-ref.

尽管update-ref提供了比 更多的灵活性branch -f,但使用起来相当麻烦,因为您总是必须输入完整的参考名称。这反过来又不会让我想使用它。

对此有什么想法吗?

4

1 回答 1

6

可以启用管道命令,但您需要自己提供一些实现。

找到git-completion.sh您正在使用的脚本。

在我的/users/andrewc/.bashrc我有

# GIT STUFF 
if [ -f ~/.git-completion.bash ] 
then
    . ~/.git-completion.bash 
fi

所以我拉起/users/andrewc/git-completion.bash

找到函数__git_list_porcelain_command())并注释掉 update-ref

        #update-ref)       : plumbing;;

这将允许update-ref自己自动完成。该脚本不知道如何填写任何参数update-ref。看起来您需要提供一个实现__git_update_ref来实现这一点。我会使用类似的命令(可能是`__git_branch)作为模板并从那里开始。

于 2014-12-15T23:07:19.433 回答