在使用Git时,我们有时会敲错命令,或者觉得某些命令太长不好记。为了解决这个问题,Git允许我们为常用命令创建别名(alias),这样我们就可以输入简短的命令来执行复杂的操作。
例如,如果你经常忘记git status
命令,你可以创建一个别名st
来代替它:
$ git config --global alias.st status
这样,你就可以通过输入git st
来快速查看当前分支的状态。
同样地,你可以为其他常用命令设置别名,比如:
$ git config --global alias.co checkout
$ git config --global alias.ci commit
$ git config --global alias.br branch
这样,你就可以使用git co
来切换分支,git ci
来提交更改,git br
来查看分支列表。
如果你想要撤销对某个文件的暂存(unstage),你可以创建一个unstage
别名:
$ git config --global alias.unstage 'reset HEAD'
然后,当你输入git unstage test.py
时,Git实际上执行的是git reset HEAD test.py
。
为了快速查看最后一次提交,你可以创建一个last
别名:
$ git config --global alias.last 'log -1'
使用git last
命令,你将看到最近一次的提交信息。
$ git last
commit adca45d317e6d8a4b23f9811c3d7b7f0f180bfe2
Merge: bd6ae48 291bea8
Author: username <example@mail.com>
Date: Thu Aug 17 22:49:22 2024 +0800
merge & fix hello.py
甚至,你可以创建一个非常详细的日志别名,例如:
$ git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
这样,当你输入git lg
时,Git将显示一个包含颜色、图形和格式化信息的详细日志。
为什么不早点告诉我?别激动,咱不是为了多记几个英文单词嘛!
配置文件
在配置Git时,如果你使用--global
选项,那么配置将应用于当前用户在所有仓库中的操作。如果不使用--global
选项,配置则只针对当前仓库有效。
Git配置文件的位置取决于你是在为特定仓库配置还是为当前用户全局配置。对于特定仓库的配置,文件通常位于该仓库的.git
目录下,名为config
。例如:
$ cat .git/config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = true
[remote "origin"]
url = git@github.com:username/gitlearning.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[alias]
last = log -1
在这个配置文件中,你可以找到别名(alias)的设置。要删除一个别名,只需从[alias]
部分中删除对应的行。
对于全局配置,文件通常位于用户的主目录下,名为.gitconfig
。这个文件是一个隐藏文件,所以你可能需要使用cat
命令来查看它:
$ cat .gitconfig
[alias]
co = checkout
ci = commit
br = branch
st = status
[user]
name = Your Name
email = your@email.com
配置别名也可以直接修改这个文件,如果改错了,可以删掉文件重新通过命令配置。