git - 提交时如何评估 Git 配置?

标签 git configuration

我正在设置我的第一个 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/

相关文章:

python - 如何在 MS Windows 操作系统上使用 Google 的 repo 工具?

xcode - com.apple.dt.Xcode.sourcecontrol.Git 重载 CPU

linux - Git 从一个用户帐户 pull 到另一个用户帐户

hadoop - Oozie-通过命令行在HDFS中使用配置文件运行工作流

java - IntelliJ - 无法启动 Tomcat 8。通过命令行正常启动

c++ - 为什么我在 Eclipse IDE 中收到 "No binary found."错误?

hibernate - 如何在Grails 3中将属性传递给Enver?

java - 如何在 Morphia/Mongo Java 驱动程序上自动重试命令

git - 为什么 git 子模块不会在 git checkout 上自动更新?

python - IPython 笔记本的版本控制