gitconfig配置
1. git config简介
我们知道config是配置的意思,那么git config命令就是对git进⾏⼀些配置。⽽配置⼀般都是写在配置⽂件⾥⾯,那么git的配置⽂件在哪⾥呢?互动⼀下,先问下⼤家。
你们所知的git配置⽂件是放在哪⾥的?git有⼏个配置⽂件呢?是的,聪明的你,稍微查查资料就知道咯,git⾥⾯⼀共有3个配置⽂件,⾸先是:仓库级配置⽂
件:该⽂件位于当前仓库下,路径.git/,⽂件名为.gitconfig,这个配置中的设置只对当前所在仓库有效仓库级配置⽂件内容如下:
第⼆个是全局级配置⽂件:win7下⾯路径,在⽤户⽬录下,以个⼈的PC机为例,其路径为:C:\Users\zuoyu.ht,⽂件名为.gitconfig
全局级配置⽂件内容如下:
最后是系统级配置⽂件:本地git的安装⽬录下,以左御的git安装路径为例:D:\Program Files\Git\etc,⽂件名为:gitconfig,内容如下:
从三个图的对⽐中,我们可以发现,有些配置项的名称是⼀样的,⽐如“core”,在git中,每⼀项的配置名称⼜叫做“section”,“section”下⾯的每⼀⾏对应着⼀个key和⼀个value。需要注意的是:系统级配置⽂件不同于另外两个配置⽂件,是因为他少了
⼀个点,因此⽤vim打开的时候,是没有⾼亮显⽰的。”core”这个section在每个配置⽂件中都有,那么它git最终会调⽤哪个配置
⽂件呢?这就要有⼀个先后顺序了。
2. 配置⽂件如何⽣效的
对于git来说,配置⽂件
的权重是仓库>全局>系统。Git会使⽤这⼀系列的配置⽂件来存储你定义的偏好,它⾸先会查/etc/gitconfig⽂件(系统级),该
⽂件含有对系统上所有⽤户及他们所拥有的仓库都⽣效的配置值。接下来Git会查每个⽤户的~/.gitconfig⽂件(全局级)。最后
Git会查由⽤户定义的各个库中Git⽬录下的配置⽂件.git/config(仓库级),该⽂件中的值只对当前所属仓库有效。以上阐述的三
层配置从⼀般到特殊层层推进,如果定义的值有冲突,以后⾯层中定义的为准,例如:.git/config和/etc/gitconfig的较量中,
.git/config取得了胜利。虽然你也可以直接⼿动编辑这些配置⽂件,但是运⾏git config命令将会来得简单些。下⾯我们就来看看如
何利⽤git config命令来编辑配置各个级别的⽂件。
3. ⽤git config命令查看配置⽂件
命令参数 –list, 简写 -l
格式:git config [–local|–global|–system] -l
查看仓库级的config,即.git/.config,命令:git config –local -l
查看全局级的config,即C:\Users\zuoyu.ht\.gitconfig,命令:git config –global -l
查看系统级的config,即D:\Program Files\Git\etc\gitconfig,命令:git config –system -l
查看当前⽣效的配置,命令:git config -l,这个时候会显⽰最终三个配置⽂件计算后的配置信息,如下
图:
4. 使⽤git config命令编辑配置⽂件
编辑的英⽂单词是什么,没错,edit
命令参数 –edit, 简写 -e
格式:git config [–local|–global|–system] -e
查看仓库级的config,即.git/.config,命令:git config –local -e,与–list参数不同的是,git config -e默认是编辑仓库级的配置⽂件。
查看全局级的config,即C:\Users\zuoyu.ht\.gitconfig,命令:git config –global -e
查看系统级的config,即D:\Program Files\Git\etc\gitconfig,命令:git config –system -e
执⾏这个命令的时候,git会⽤配置⽂件中设定的编辑器打开配置⽂件。
5. 增加⼀个配置项
参数 –add
格式: git config [–local|–global|–system] –add section.key value(默认是添加在local配置中)
注意add后⾯的section,key,value⼀项都不能少,否则添加失败。⽐如我们执⾏:git config –add cat.name tom
然后查看local中的配置:
注意增加⼀项配置⽽不赋值 git config –add cat.age,或者单单增加⼀个section,git config –add cat1,不会成功。
6.获取⼀个配置项
有时候,我们并不需要查看所有配置的值,⽽是查看某个配置项的值,怎么做呢?
命令参数 –get
格式:git config [–local|–global|–system] –get section.key(默认是获取local配置中内容)
我们先往global配置中写⼊⼀个cat.name=Tomcat的配置项,再使⽤git config –get cat.name看看得到的是什么
结果就是local中的cat.name=Tom,因此git config –get section.key 等价于git config –local –get section.key
如果获取⼀个section不存在的key值,不会返回任何值
vim命令怎么编辑如果获取⼀个不存在的section的key值,则会报错
7.删除⼀个配置项
命令参数 –unset
格式:git config [–local|–global|–system] –unset section.key
相信有了前两个命令的使⽤基础,⼤家举⼀反三就知道改怎么⽤了,来,我们试试删除local配置中的cat.name
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论