我正在设置我的第一个 Git 存储库,并正在运行;
git config --list
我注意到某些配置值有多个条目;
core.autocrlf=input
[...]
core.autocrlf=false
我猜这些值加倍了,因为它们出现在多个配置文件(系统、全局、文件)中。我的问题是,这些值中的哪一个优先?是否逐行读取配置文件,并将最后一个条目作为提交期间使用的条目?
最佳答案
从 The MYYN 借来的,这些是可以找到配置文件的三个地方:
- $GIT_DIR/配置
- ~/.gitconfig (--global)
- $(前缀)/etc/gitconfig
好吧,假设您在全局范围内将您的电子邮件设置为 niko.schwarz@gmail.com。现在,我们创建一个新的 repo:
$ 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
但是如果您查看日志,电子邮件地址将设置为特定于 repo 的地址:
$ git log | grep niko.schwarz
Author: Niko Schwarz <niko.schwarz@s-i.ch>
Signed-off-by: Niko Schwarz <niko.schwarz@s-i.ch>
因此,本地优先于全局,这是列出值的顺序。现在,带着一点信念的飞跃,我确实假设 git config --list 显示的顺序使后面的优先。
关于git - 提交时如何评估 Git 配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1881551/