卖一下广告,欢迎大家关注我的微信公众号,扫一扫下方二维码或搜索微信号 stormjun,即可关注。 目前专注于 Android 开发,主要分享 Android开发相关知识和一些相关的优秀文章,包括个人总结,职场经验等。
Git 提供了一个叫做 git config 的工具。主要用来配置或者读取相应的环境变量。而这些环境变量,决定了 Git 在各个环节的具体工作方式和行为。
git config 文件的存放位置主要有三个位置。
git config --system user.name "xujun"
git config --system user.email “[email protected]"
git config --global user.name "xujun"
git config --global user.email “[email protected]"
在 Windows 系统上,Git 会找寻用户主目录下的 .gitconfig 文件。主目录即 $HOME 变量指定的目录,一般都是 C:\Users{UserName} 。此外,Git 还会尝试找寻 /mingw64/etc/gitconfig 文件,只不过看当初 Git 装在什么目录,就以此作为根目录来定位。 比如我的 git 安装目录是 C:\Program Files\Git, 那么相应的文件位置是C:\Program Files\Git\mingw64\etc 。
当你安装Git后首先要做的事情是设置你的用户名称和e-mail地址。这是非常重要的,因为每次Git提交都会使用该信息。它被永远的嵌入到了你的提交中:
git config --global user.name "xujun"
git config --global user.email "[email protected]"
重申一遍,你只需要做一次这个设置。如果你传递了 --global 选项,因为Git将总是会使用该信息来处理你在系统中所做的一切操作。如果你希望在一个特定的项目中使用不同的名称或e-mail地址,你可以在该项目中运行该命令而不要–global选项。
你的标识已经设置,你可以配置你的缺省文本编辑器,Git在需要你输入一些消息时会使用该文本编辑器。缺省情况下,Git使用你的系统的缺省编辑器,这通常可能是vi 或者 vim。如果你想使用一个不同的文本编辑器,例如Emacs,你可以做如下操作:
git config --global core.editor emacs
另外一个你可能需要配置的有用的选项是缺省的比较工具它用来解决合并时的冲突。例如,你想使用vimdiff:
git config --global merge.tool vimdiff
Git可以接受kdiff3, tkdiff, meld, xxdiff, emerge, vimdiff, gvimdiff, ecmerge, 和 opendiff作为有效的合并工具。你也可以设置一个客户化的工具;
配置命令别名
我们在用git的时候,很多时候都是用的命令行形式的,不仅要记得住大量命令,还要能灵活进行组合,这就很是头大了,正因为此,命令别名的重要性就出来了。但与其说是别名,倒不如说是另类的简写形式。 别名的配置也需要使用 config 命令,比如给 git status 设置别名 st:
git config --global alias.st status
这样我们以后使用的时候,直接用 git st 就可以做 git status 的事了。
再来一个从 廖雪峰的Git教程 上看来的,很牛掰的,我自己也在用的一个别名:
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 config --list 命令来列出Git可以在该处找到的所有的设置:
git config --list
core.symlinks=false
core.autocrlf=true
core.fscache=true
color.diff=auto
color.status=auto
color.branch=auto
color.interactive=true
help.format=html
http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
diff.astextplain.textconv=astextplain
rebase.autosquash=true
credential.helper=manager
user.name=xujun
user.name=xujun
[email protected]
alias.co=checkout
alias.st=status
alias.df=diff
alias.ss=status -s
alias.cm=commit -m
alias.br=branch
alias.bm=branch -m
alias.bd=branch -D
alias.cb=checkout -b
alias.ll=log --graph --pretty=format:'%Cred%h%Creset %C(bold blue)%s%Creset %Cgreen(%cr) <%an>%Creset' --abbrev-commit --date=relative
alias.lg=log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %C(bold blue)%s%Creset %Cgreen(%cr) <%an>%Creset' --abbrev-commit --date=relative
alias.alg=log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %C(bold blue)%s%Creset %Cgreen(%cr) <%an>%Creset' --abbrev-commit --date=relative --all
alias.ls=log --stat
alias.plo=pull origin
alias.pho=push origin
...
你可能会看到一个关键字出现多次,这是因为Git从不同的文件中(例如:/etc/gitconfig以及~/.gitconfig)读取相同的关键字。 在这种情况下,对每个唯一的关键字,Git使用最后的那个值。
你也可以查看Git认为的一个特定的关键字目前的值,使用如下命令 git config {key}:
git config user.name
xujun
如果当你在使用Git时需要帮助,有三种方法可以获得任何git命令的手册页(manpage)帮助信息:
$ git help
$ git --help
$ man git-
例如,你可以运行如下命令获取对config命令的手册页帮助:
$ git help config