我在配置列表*中发现以下条目增加了一倍:
git config -l | sort
... (irrelevant here)
core.symlinks=false
core.symlinks=false
... (irrelevant here)
经过短暂的思考,我想我已经弄明白了为什么:嘿,当然!我没有为配置列表指定源,因此我看到的输出是来自所有源的条目的串联...(我记得之前已经观察到该结果,因为我在本地和全局级别都设置了条目) (在a short visit in the doc之后),我分别进行了检查:
git config -l --local | sort
... (irrelevant here)
core.symlinks=false
... (irrelevant here)
git config -l --global | sort
(no line about core.symlinks at all)
奇怪。 local
中的一个,global
中一个。也许system
?
git config -l --system | sort
(no line about core.symlinks at all)
在这一点上,我无法再支持我的第一个猜测了……那么“其他”条目是从哪里来的呢?如果不是来自global
或system
呢?仅仅是git构建我丢失的配置列表输出并导致这种奇怪结果的方式吗?
*(在搜索完全不相关的内容时。因此,我是第一个承认这个问题对完成任何任务都不重要的人,我只是想找出我观察到的原因是什么,如果有人知道的话)在他们的头顶上)
答案 0 :(得分:1)
要查看当前具有的所有git设置(在用户级别和通用级别):
git config --list --show-origin
注意
请记住,如果它位于包含git项目的目录中,那么您还将获得它的配置。
在我们进一步讨论git config
的用法之前,让我们花点时间介绍一下配置级别。 git config
命令可以接受参数来指定要在哪个配置级别上进行操作。提供以下配置级别:
-本地
默认情况下,如果未传递任何配置选项,git config
将写入本地级别。本地级配置应用于调用上下文存储库git config
。本地配置值存储在文件中,该文件可以在存储库的.git目录中找到:.git/config
-全局
全局级别配置是特定于用户的,这意味着它将应用于操作系统用户。全局配置值存储在用户主目录中的文件中。在UNIX系统上~ /.gitconfig
在Windows上C:\Users\<username>\.gitconfig
-系统
系统级配置应用于整个计算机。这涵盖了操作系统上的所有用户和所有存储库。系统级配置文件位于系统根路径之外的gitconfig
文件中。在UNIX系统上为$(prefix)/etc/gitconfig
。在Windows上,可以在Windows XP的C:\Documents and Settings\All Users\Application Data\Git\config
和Windows Vista及更高版本的C:\ProgramData\Git\config
上找到此文件。
因此,配置级别的优先级顺序为:本地,全局,系统。这意味着当寻找配置值时,Git将在本地级别启动并冒泡至系统级别。