如何在.gitconfig中使用别名?

时间:2009-06-29 22:49:22

标签: git alias

Github对全局git配置~/.gitconfig提出以下建议:

[alias]             # Is this [-] only a comment in .gitconfig?
gb = git branch
gba = git branch -a
gc = git commit -v
gd = git diff | mate  
gl = git pull
gp = git push
gst = git status

以上命令在我的旧Git中有效。 但是,由于某种未知原因,它们现在不起作用。

问题似乎不在命令中。它可能在另一个git相关文件中控制哪个文件影响别名。

如何让别名起作用?

2 个答案:

答案 0 :(得分:12)

首先要注意的是git别名只在你调用git时才适用,所以当你运行时,st = status的别名才会生效:

$ git st

如果您希望能够:

$ gst

要运行git status,您需要为bash(或您使用的任何shell)设置别名。

好吧,对于只是git命令的较短版本的别名(如st的{​​{1}}),您不需要为其添加status前缀。此外,如果要执行shell命令而不是git子命令,则必须在别名定义前添加感叹号,如git中所指定。我的git-config(1)的别名部分如下所示:

~/.gitconfig

然后我可以跑:

[alias]
    st = status
    ci = commit -s
    br = branch
    co = checkout
    vis = !gitk --all &

等等。

答案 1 :(得分:6)

我相信GitHub所指的是系统别名,而不是'.gitconfig'别名。

换句话说,您需要输入以下 Unix 命令,如illustrated here,以使这些'别名'工作:

alias g=’git’
alias gb=’git branch’
alias gba=’git branch -a’
alias gc=’git commit -v’
alias gca=’git commit -v -a’
alias gd=’git diff | mate’
alias gl=’git pull’
alias gp=’git push’