我正在建立我的第一个git repo,并开始运行;
git config --list
我注意到对于某些配置值有多个条目;
core.autocrlf=input
[...]
core.autocrlf=false
我猜这些值会加倍,因为它们出现在多个配置文件(系统、全局、文件)中。我的问题是,这些值中哪一个优先?配置文件是否逐行读取,最后一个条目是否作为提交期间使用的条目?
最佳答案
从myyn中借用,以下是查找配置文件的三个位置:
$git_目录/配置
~/.gitconfig(--global)
$(前缀)/etc/gitconfig
好吧,想象一下你在全球范围内把你的电子邮件设置为niko.schwarz@gmail.com。现在,我们做一个新的回购:
$ cd /tmp
$ mkdir try && cd try
$ git init
$ git config user.email niko.schwarz@s-i.ch
$ touch hi
$ git -add .
$ git commit -m 'bla'
然后,user.email将设置为两个值:
$ git config --list | grep niko.schwarz
user.email=niko.schwarz@gmail.com
user.email=niko.schwarz@s-i.ch
但如果查看日志,电子邮件地址将设置为回购协议的特定地址:
$ git log | grep niko.schwarz
Author: Niko Schwarz <niko.schwarz@s-i.ch>
Signed-off-by: Niko Schwarz <niko.schwarz@s-i.ch>
因此,local beats global是值的列出顺序。现在,有了一点信心的飞跃,我确实假设git config--list按照使后者优先的顺序显示事情。