Git配置显示重复条目

6
当我执行git config --命令时,我看到以下(缩略)列表:
$ git config --list
...
core.autocrlf=true
...
core.safecrlf=true
core.autocrlf=true
...

注意 core.autocrlf=true 重复了。然后我尝试使用 git config --global core.autocrlf false 将它们的值“全局”设置为 false,只有第二个实例会改变:

$ git config --list
...
core.autocrlf=true
...
core.safecrlf=true
core.autocrlf=false
...

看到使用--show-origin标志可以明确每个来源:

file:"C:\\ProgramData/Git/config"       core.autocrlf=true
file:C:/Users/schmoejoe/.gitconfig      core.autocrlf=true

这个答案还提到了优先级顺序(本地 > 全局 > 系统)。所以我的问题是:是否有一种方法可以从命令行更改每个值(无论是单独命令还是一次性全部)?


1
我希望你已经查看了http://git.661346.n2.nabble.com/core-autocrlf-considered-half-assed-td4684075.html。简而言之,autocrlf有问题(这是主要的git开发人员所在的地方)。 - Rusi
2个回答

3

根据文档

如果没有通过--file显式设置,git config将在四个文件中搜索配置选项:...

按照上述给定的顺序读取文件,最后找到的值优先于早期读取的值。当有多个值时,则使用所有文件中的键的所有值。

请注意,您可以通过输入以下内容来获取此文档:

git help config

或者通过谷歌搜索“git config”。

谢谢!我稍微修改了问题,但这真的很有帮助。你知道我是否可以从命令行修改那些不同位置的值吗? - Woodchuck
@JWoodchuck,是的,你可以这样做。我向你推荐详细了解如何操作的文档。 - Code-Apprentice

1

git config 命令行严重破坏了我的本地 .git/config 文件(例如,重复、冲突的条目):

...
[user]
  name = john_doe
  name = joe_blow
  name = jim_bob
  email = john_doe@yahoo.com
  email = john_bob@gmail.com
  email = john_@hotmail.com
...

我发现在编辑器中修复.git/config更容易:

...
[user]
  name = john_doe
  email = john_doe@yahoo.com
...

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接