.gitconfig系统位置混乱

时间:2018-01-07 10:28:05

标签: git

在我运行时在Windows 10上:

git config --list --show-origin

我明白了:

    file:"C:\\ProgramData/Git/config"       core.autocrlf=input
    file:"C:\\ProgramData/Git/config"       core.fscache=true
    file:"C:\\ProgramData/Git/config"       color.diff=auto
    file:"C:\\ProgramData/Git/config"       color.status=auto
    ...
    file:"C:\\Users\\user\\AppData\\Local\\Programs\\Git\\mingw64/etc/gitconfig"   http.sslcainfo=C:/Users/user/AppData/Local/Programs/Git/mingw64/ssl/certs/ca-bundle.crt
    file:"C:\\Users\\user\\AppData\\Local\\Programs\\Git\\mingw64/etc/gitconfig"   http.sslbackend=openssl
    file:"C:\\Users\\user\\AppData\\Local\\Programs\\Git\\mingw64/etc/gitconfig"   diff.astextplain.textconv=astextplain
    ....
    file:C:/Users/user/.gitconfig  alias.st=status
    file:C:/Users/user/.gitconfig  alias.co=checkout

为什么我同时拥有:

file:"C:\\Users\\user\\AppData\\Local\\Programs\\Git\\mingw64/etc/gitconfig"

file:"C:\\ProgramData/Git/config"

我不仅应该有一个系统位置吗?

在Eclipse中,它默认为%APPDATA%

中的一个

enter image description here

所以我认为它/ eclipse永远不会考虑文件:

“C:\ ProgramData / GIT中/配置”

2 个答案:

答案 0 :(得分:1)

有--system配置值,如果你运行,你可以看到:

  

git config --list --system

并且有--global配置值,如果你运行,你可以看到:

  

git config --list --global

所以当你跑:

  

git config --list --show-origin

您可以看到两个列表混合在一起。

如果您将从本地存储库中运行它,您将看到它与本地配置值混合,如果您将运行,则可以获得这些值:

  

git config --list --local

答案 1 :(得分:0)

我相信正确答案是在问题评论中@PetSerAl提供的链接中给出的。解释是Windows有多种可用的git实现,通过将系统配置分为两个位置,您可以拥有一个可以在实现之间共享的系统配置,而一个可以用于当前实现的系统配置。

我对文档的解释是C:\\ProgramData/Git/config中的一个是共享的,而C:\\Users\\user\\AppData\\Local\\Programs\\Git\\mingw64/etc/gitconfig中的一个是您所使用的git实现所特有的。

看来,Eclipse没有通过两个系统设置文件来了解Windows特定的情况。但是,Windows版Git知道其他共享文件,并且在从Eclipse调用时应该使用它。