您的位置:首页 > 其它

git配置文件

2017-04-02 23:50 246 查看
我们之前配置提交变更者信息时使用了git config命令:

jie$ git config user.name "jie"
jie$ git config user.email "jie@jie.com"


这个命令将我们的配置写入到了配置文件.git/config中

jie$ cd ~/gitstudy
jie$ cat  .git/config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[user]
name = jie
email = jie@jie.com


实际上我们直接在这个文件最后加入:

[user]
name = jie
email = jie@jie.com


也能配置提交者的信息,效果与git config命令相同,而且是修改后即时生效的,不需要再做其它工作。

git的配置文件全都是简单的.ini文件风格的文本文件,它们记录了很多git命令使用的各种选项和设置,有的设置用于调整个人偏好,有的设置则是对版本库正常工作所必需的,git支持不同层次的配置文件,按照优先级递减的顺序,它们如下所示:

.git/config 版本库特定的配置设置,可用 –file 选项修改,是默认选项,这个文件中的设置具有最高优先级。

~/.gitconfig 用户特定的配置设置,可用–global 选项修改。

/etc/gitconfig 这是系统范围的配置设置,如果有它的文件写权限,你就可以用–system选项修改它,这些设置

的优先级最低,这个文件由于安装的不同可能在其他位置,也可能不存在,这个文件在我系统上并不存在,而且

通常不会进行系统范围的配置。

例如:要设置用户名和email,用于你对所有版本库的所有提交,可以用git config –global命令设置~/.gitconfig中的

user.name和user.email的值:

jie$ git config --global user.name "jix_global"
jie$ git config --global user.email "jix_global@jix.com"
jie$ cat ~/.gitconfig
[user]
name = jix_global
email = jix_global@jix.com


使用git config 不带–global可以设置一个版本库用户的name和email,这个设置会覆盖 –global的设置:

jie$ cd ~/gitstudy/
jie$ git config user.name "jix"
jie$ git config user.name "jix@jix.com"
jie$ cat .git/config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[user]
name = jix
email = jix@jix.com


.git/config文件中的设置比~/.gitconfig优先级高,此时我们commit时的提交者信息为jix,而不是jix_global。

使用git config -l 命令可以查看当前配置:

jie$ git config -l
user.name=jix_global
user.email=jix_global@jix.com
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
user.name=jix
user.email=jix@jix.com
jie$ pwd
/home/jie/gitstudy
jie$ cd ..
jie$ git config -l
user.name=jix_global
user.email=jix_global@jix.com


可以看到离开了版本库所在目录,~/gitstudy/.git/config中的配置就不存在了。而~/.gitconfig 中的配置仍然存在。下面展示几个有用的配置:

1.配置日志消息编辑器

jie$ cat  ~/.gitconfig
[core]
editor=vim
[user]
name = jix_global
email = jix_global@jix.com


editor=vim这条配置将日志消息编辑器设置为vim。

2.配置别名

jie$ cat  ~/.gitconfig
[core]
editor=vim
[user]
name = jix_global
email = jix_global@jix.com
[alias]
br = branch
st = status
show-graph = log --graph --abbrev-commit --pretty=oneline


在[alias]下配置别名,这样我们就可以用短命令替代长命令了,这个真是懒人的福音啊,效果如下:

jie$ git br
* master
jie$ git st
On branch master
nothing to commit, working directory clean
jie$ git show-graph
* afa8f4d add last line: add for git commit
* 289d3bf new test.txt


git的配置文件基本就是这样了,想配置什么,就在相应配置项(比如[alias]) 下添加配置即可。但是git配置项还挺多的,可以在需要配置时查看相关资料。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: