我倾向于在Git中使用较长的分支名称(例如,step110_create_search_engine_to_replace_google)。
在checkout/commit语句中如何简单地引用它?您可以将其简称为step110。
我倾向于在Git中使用较长的分支名称(例如,step110_create_search_engine_to_replace_google)。
在checkout/commit语句中如何简单地引用它?您可以将其简称为step110。
如果你使用类Unix系统(Linux、Mac OS X等),那么有一个名为contrib/complete/git-completion.bash
的bash自动补全配置文件,可以帮助你自动补全git命令(例如,输入git checkout step110<tab>
,你的shell会自动完成分支名称)。
要激活它,请执行以下步骤:
contrib/complete/
目录下有一个名为git-completion.bash
的文件。将其放置在某个安全位置(例如~/.git-completion
),然后将以下行添加到~/.bashrc
文件中:source ~/.git-completion
。重新启动shell会话或运行source ~/.git-completion
以在当前shell会话中启用它。如果你正在使用zsh
而不是bash
,我知道oh-my-zsh
有git自动补全插件(我不确定如何在没有oh-my-zsh
的情况下启用它们)。
参考文献:
以下是我在 OS X 上的安装方式...
首先检查一下你本地是否已经安装了它。看起来 MacPorts 和 Homebrew 都会替你下载它。
$ find / -name "git-completion.bash"
否则,下载它...$ wget https://raw.github.com/git/git/master/contrib/completion/git-completion.bash -O ~/.git-completion
如果您没有wget
,您可以使用Homebrew轻松安装它,或使用cURL。
$ vim ~/.profile
...或者你选择的编辑器。
然后添加...
source ~/.git-completion
如果自动完成没有自动工作...$ source ~/.profile
...然后你就可以使用 Git 自动补全了。
cb = "!checkoutbranch() { local branches=`git branch | grep -i $1 | tr -d '* '`; if [[ `echo \"$branches\" | wc -l | tr -d ' '` != 1 ]]; then echo \"Matched multiple branches:\"; git branch | grep --color -i $1; exit 1; fi; git checkout $branches; }; checkoutbranch"
请检出develop
分支:
git cb dev
git symbolic-ref
命令可以帮助你避免按下 TAB 键的麻烦。你可以为分支创建一个别名。
$ # Define short name 's1'
$ git symbolic-ref refs/heads/s1 refs/heads/step110_create_search_engine_to_replace_google
$
$ # You can use short name 's1' afterwards
$ git reset --hard s1
$ git checkout -b s1-experiment s1
$
$ # Remove the short name (don't use branch -d here or the original branch gets deleted!)
$ git symbolic-ref -d refs/heads/s1
为了节省打字时间,可以以同样的方式引用远程分支remote/
TAB。(在这种情况下,我建议使用前缀refs/tags/
而不是refs/heads/
,以防止意外移动远程引用)
$ git symbolic-ref refs/tags/base refs/remotes/github/a-very-long-named-remote-branch
$ git rebase -i base
我只想补充一点,这个文件通常已经随着git一起提供了。你不需要再次下载它,只需要找到它并运行即可。
在我的系统(Centos操作系统)上,以下步骤有效:
$ locate completion.bash
/usr/share/doc/git-1.7.4.1/contrib/completion/git-completion.bash
$ source /usr/share/doc/git-1.7.4.1/contrib/completion/git-completion.bash
显然,正如已经指出的那样,最好将此行添加到您的主目录中的 .bashrc 文件中,这样每次打开新的 shell 时就不需要重复执行它。
在我的情况下,我会将最后一个命令添加到我的 .bashrc 文件中。
source /usr/share/doc/git-1.7.4.1/contrib/completion/git-completion.bash
在类Unix系统中,你可以这样做。
git branch | cut -d ' ' -f 2 | tr -d '\n'
contrib/complete/git-completion.bash
的 git 自动补全规则?你应该可以输入git checkout step110<tab>
并让你的 shell 自动完成分支名称。 - simont