Git别名和配置文件
备注:
本文参考于廖雪峰老师的博客Git教程。依照其博客进行学习和记录,感谢其无私分享,也欢迎各位查看原文。
配置别名
如果,如果这么神器的Git版本控制系统,可以简化命令。比如git status
,直接用git st
代替,简直爽翻天。
通过为Git命令配置别名,就能实现st
表示status
,如下:
$ git config --global alias.st status
此时git st
就表示git status
据此可以简化更多命令,比如co
表示checkout
,ci
表示commit
,br
表示branch
:
$ git config --global alias.co checkout
$ git config --global alias.ci commit
$ git config --global alias.br branch
这样提交就能用如下简写:
$ git ci -m "bala bala bala..."
参数--global
是全局参数,配置的别名可以在当前计算机下使用。
unstage
别名
再比如撤销暂存区修改的命令git reset HEAD file
是一个unstage
操作,则可以unstage
别名:
$ git config --global alias.unstage 'reset HEAD'
git last
别名
比如配置git last
,显示最后一次提交信息:
$ git config --global alias.last 'log -1'
这样,用git last就能显示最近一次的提交:
甚至还有人丧心病狂地把lg配置成了:
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
的效果可以使用不同颜色标识出log记录,看起来非常炫
配置文件
Git的配置,加上
--global
是针对当前用户起作用的,如果不加,那只针对当前的仓库起作用。
- git配置文件的位置
每个仓库的Git配置文件都放在.git/config
文件中:
如下为廖雪峰老师博客中展示的
config
文件内容$ cat .git/config [core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true ignorecase = true precomposeunicode = true [remote "origin"] url = [email protected]:michaelliao/learngit.git fetch = +refs/heads/*:refs/remotes/origin/* [branch "master"] remote = origin merge = refs/heads/master [alias] last = log -1
[alias]
是别名配置项,要删除别名,直接把对应的行删掉即可。
当前用户的Git配置文件放在用户主目录下的 .gitconfig
文件 中。
linux系统用户目录在
home
目录下查看
Windows用户目录为C:C:\Users\用户名
,通过%USERPROFILE%
或%HOMEPATH%
直接访问即可
$ cat .gitconfig
[user]
name = Your Name
email = [email protected]
[core]
autocrlf = false
[filter "lfs"]
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
required = true