git config
如何修改当前项目git的用户名和邮箱
查看本地设置:
git config --local --list
查看设置本地属性
git config user.name/email //如果特定项目的根目录下执行,则只更新这个项目提交时的user.name/email
解决方法
修改当前的project
修改当前project的用户名的命令:
git config user.name "你的目标用户名" //如果特定项目的根目录下执行,则只更新该项目的user.name
修改当前project提交邮箱的命令:
git config user.email "你的目标邮箱名" //如果特定项目的根目录下执行,则只更新该项目的user.email
一、 git config简介
我们知道config是配置的意思,那么git config命令就是对git进行一些配置。而配置一般都是写在配置文件里面,那么git的配置文件在哪里呢?互动一下,先问下大家。
你们所知的git配置文件是放在哪里的?git有几个配置文件呢?是的,聪明的你,稍微查查资料就知道咯,git里面一共有3个配置文件,
1.仓库级配置文件:
方法1:找到该文件,直接打开:
该文件位于当前仓库下,路径.git/,文件名为config
![](https://pic3.zhimg.com/80/v2-c5da03c2a5ba08406702099e822a0e6e_1440w.webp)
这个配置中的设置只对当前所在仓库(H:\MyGit目录下的test仓库)有效,仓库级配置文件内容如下:
![](https://pic3.zhimg.com/80/v2-4a9a43df1026205696baf26b36ceee86_1440w.webp)
方法2:
通过命令查看项目配置(仓库级配置):git config --local -l
![](https://pic2.zhimg.com/80/v2-fe12af0c9c0e53c4b5ef0bb253f62bf5_1440w.webp)
2.全局级配置文件:
方法1:
以win10个人的PC机为例,在用户目录下,其路径为:C:\Users\Administrator,文件名为 .gitconfig
全局级配置文件内容如下:
![](https://pic4.zhimg.com/80/v2-ee61522737d416b89204b81222c9fb77_1440w.webp)
![](https://pic3.zhimg.com/80/v2-cb3dff3f2c21d5ff6ee505b7059a763e_1440w.webp)
方法2:
通过命令查看全局级配置:git config --global -l
![](https://pic4.zhimg.com/80/v2-c200c3a89b0c31a1096f3a6a08723997_1440w.webp)
3.系统级配置文件:
方法1:
本地git的安装目录下,以我的git安装路径为例:F:\software\Git\mingw64\etc,文件名为:gitconfig,内容如下:
![](https://pic3.zhimg.com/80/v2-2280bdaf103e9e0e13d179faeff6651e_1440w.webp)
![](https://pic4.zhimg.com/80/v2-269296fbc1379d42ee4eecd7a2f5e08f_1440w.webp)
方法2:
通过命令查看系统配置:git config --system -l
![](https://pic4.zhimg.com/80/v2-6275ce8d24ac04b38ce459340d59e737_1440w.webp)
对于git来说,配置文件的权重是仓库>全局>系统
二、 用git config命令查看配置文件
命令参数 –list, 简写 -l
格式:git config [–local|–global|–system] -l
查看仓库级的config,命令:git config –local -l
查看全局级的config,命令:git config –global -l
查看系统级的config,命令:git config –system -l
查看当前生效的配置,命令:git config -l,这个时候会显示最终三个配置文件计算后的配置信息,如下图:
![](https://pic4.zhimg.com/80/v2-a587a0afe2b47a3c70c8cae8945e5843_1440w.webp)
三、 使用git config命令编辑配置文件
编辑的英文单词是什么,没错,edit
命令参数 –edit, 简写 -e
格式:git config [–local|–global|–system] -e
编辑仓库级的config,命令:git config –local -e,与–list参数不同的是,git config -e默认是编辑仓库级的配置文件。
编辑全局级的config,命令:git config –global -e
编辑系统级的config,命令:git config –system -e
注:执行这个命令的时候,git会用配置文件中设定的编辑器打开配置文件。
四、 使用git config命令增加一个配置项
参数 –add
格式: git config [-local|-global|-system] --add section.key value(默认是添加在local配置中)
注意add后面的section,key,value一项都不能少,否则添加失败。比如我们执行:
git config --add cat.name tom
然后查看local中的配置:
![](https://pic2.zhimg.com/80/v2-8ecf522684b6b170d164a691b882a6f9_1440w.webp)
注意增加一项配置而不赋值 git config -add cat.age,或者单单增加一个section,git config -add cat1,不会成功。
五、 使用git config命令获取一个配置项
有时候,我们并不需要查看所有配置的值,而是查看某个配置项的值,怎么做呢?
命令参数 -get
格式:git config [-local|-global|-system] -get section.key(默认是获取local配置中内容)
我们先往git配置中写入一个cat.name=tom的配置项,再使用git config -get cat.name看看得到的是什么
![](https://pic3.zhimg.com/80/v2-a167c866012368ff48d58490e642ad02_1440w.webp)
结果就是local中的cat.name=tom,因此git config --get section.key 等价于
git config --local --get section.key
![](https://pic2.zhimg.com/80/v2-b887a21dac760ae6c7c11b073d1d3b29_1440w.webp)
如果获取一个section不存在的key值,不会返回任何值
如果获取一个不存在的section的key值,则会报错
![](https://pic3.zhimg.com/80/v2-7eff5d6305976307968bf3745e7ac5ca_1440w.webp)
六、 使用git config命令删除一个配置项
命令参数 -unset
格式:git config [-local|-global|-system] -unset section.key
相信有了前两个命令的使用基础,大家举一反三就知道改怎么用了,来,我们试试删除local配置中的cat.name
![](https://pic4.zhimg.com/80/v2-d15d86fecee303b73bae7b3ca4339c1f_1440w.webp)
https://zhuanlan.zhihu.com/p/76467410