题
吉图布 对于全局 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 相关文件中,控制哪个文件影响别名。
如何让别名发挥作用?
解决方案
我相信 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’
其他提示
要了解的第一件事是git的别名仅适用于当你调用git的,所以st = status
的别名将在运行生效:
$ git st
如果您希望能够做到:
$ gst
要运行git status
您将需要设立的bash别名(或任何外壳使用)。
那么,对于别名,只须较短版本的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 &"
和等。
不隶属于 StackOverflow