1、什么是Git命令的别名
Git中命令很多,有些命令比较长,有些命令也不好记,也容易写错。
例如:你有没有经常敲错命令?比如git status
?如果敲git st
就表示git status
那就简单多了。
Git 并不会在你输入部分命令时,自动推断出你想要执行的命令。 如果不想每次都输入完整的Git命令,可以通过 git config
文件来轻松地为每一个命令设置一个别名。
也就是给status
命令配置别名,告诉Git,以后st
就表示status
。
总结:什么是别名?
别名用于创建映射到较长命令的较短命令。就和Linux命令设置别名一样。
2、别名的全局配置
(1)配置全局别名
我们就以上面说的git status
命令为例进行演示。
我们只需要敲一行命令,告诉Git,以后st
就表示status
:
# 1.查看工作目录文件状态
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git status
On branch master
nothing to commit, working tree clean
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git st
git: 'st' is not a git command. See 'git --help'.
The most similar commands are
status
reset
stage
stash
svn
# 可以看到执行git st命令的时候,提示“st”不是git命令。
# 2.给他git status 设置别名
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git config --global alias.st status
# 3.再次查看工作目录文件状态
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git status
On branch master
nothing to commit, working tree clean
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git st
On branch master
nothing to commit, working tree clean
我们可以看到git status
命令设置完别名后,别名和原命令都可以使用。
说明:
-
--global
参数是全局参数,也就是这些命令在这台电脑的所有Git仓库下都有用。 -
我们之前说配置用户签名的时候,
--global
参数是在系统用户目录下的.gitconfig
文件中进行配置。配置别名的内容如下:
[user] name = sun_wk email = sun_wk@126.com [alias] st = status # 这里就是配置的别名
-
--global
参数配置的是全局参数,也就是针对该系统用户,对该系统中所有的Git仓库的配置。换句话说,就是加上
--global
参数,该别名对本机中所有的Git仓库都管用。
(2)删除全局别名
有两种方式:
- 打开系统用户目录下的
.gitconfig
文件,把该别名手动删除。 - 使用命令行删除,执行命令:
git config --global --unset alias.st
。
提示:删除别名之后,别名失效。
3、别名局部配置
(1)配置局部别名
还是以git status
命令为例进行演示。
基本上和全局别名的配置一样,就是把--global
参数换成--local
,或者就是去掉不写。(不写默认就是执行--local
参数)
# 下面进行简单说明
# 1.查看工作目录文件状态,使用git st不可以
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git st
git: 'st' is not a git command. See 'git --help'.
The most similar commands are
status
reset
stage
stash
svn
# 2.配置别名
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git config alias.st status
# 3.再次使用git st,查看工作目录文件状态
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git st
On branch master
nothing to commit, working tree clean
说明:
-
没有加
--global
参数,默认在本地版本库中的配置文件进行配置,所以只针对该仓库起作用。 -
我们之前说配置用户签名的时候,本地版本库的配置文件为
.git/config
文件。现在查看该文件如下:
[core] repositoryformatversion = 0 filemode = false bare = false logallrefupdates = true symlinks = false ignorecase = true [alias] st = status # 这里就是配置的局部别名
(2)删除局部别名
有两种方式:
- 打开当前Git仓库目录下的
.git/config
文件,把该别名手动删除。 - 使用命令行删除,执行命令:
git config --unset alias.st
。
提示:删除别名之后,别名失效。
4、删除所有别名
(1)删除所有全局别名命令:
$ git config --global --remove-section alias
(2)删除所有局部别名命令:
$ git config --remove-section alias
5、小练习
我们上一篇文章介绍了,如何修改Git历史版本信息内容和颜色的显示。
如:git log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %C(cyan)%s %C(magenta)(%cr) %C(bold blue)<%an>%Creset'
我们就把上命令配置别名,执行命令如下:
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %C(cyan)%s %C(magenta)(%cr) %C(bold blue)<%an>%Creset'"
执行git lg
命令,显示效果如下:
当然你也可以把别名定义为log
。
总结:随着你继续不断地使用 Git,可能也会经常使用别名命令,所以创建别名这种偷懒的办法我们是赞成的。
补充:
git config --global color.ui true
:让Git显示顾色,会让命令输出看起来更醒目。(效果没有上面手动配置的颜色显示丰富)
网友评论