如何在.gitconfig中启用别名?

10

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相关的文件控制哪个文件影响别名的问题。

如何让别名正常工作?

3个回答

22

首先要注意的是,git别名只适用于调用git时,因此将st = status作为别名时,它只会在你运行以下命令时生效:

$ git st

如果你想要实现以下功能:

$ gst
要运行git status,您需要为bash(或您使用的任何shell)设置别名。
对于仅仅是git命令的缩写(如将st作为status的缩写),您不需要在其前面添加git前缀。此外,如果你想要执行一个shell命令而不是一个git子命令,则必须在别名定义的前面加上感叹号,就像git-config(1)中所指定的那样。我的~/.gitconfig中的别名部分看起来像这样:
[alias]
    st = status
    ci = commit -s
    br = branch
    co = checkout
    vis = !gitk --all &

然后我就可以运行:

$ git st # Runs "git status"
$ git ci # Runs "git commit -s"
$ git vis # runs "gitk --all &"

等等,如此类推。


我应该改变它,但实际上我从来没有使用过“git new”,所以我从未注意到。 - haxney

11

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

换句话说,您需要像这里所示那样输入下面这个Unix命令才能使这些“别名”生效:

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’

0
在我的情况下,我导航到.zsh文件夹并克隆了这个repo:git clone https://github.com/mdumitru/git-aliases.git,然后source ~/.zshrc,它就可以工作了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接