You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Windows 10下Git系统级配置文件位置混淆问题咨询

Git系统级配置文件的那些事儿

嘿,这个问题我碰到过好多次,给你拆解清楚:

为什么会有两个系统级配置位置?

这其实是Git for Windows的特性导致的:

  • C:\Users\user\AppData\Local\Programs\Git\mingw64/etc/gitconfig 是Git for Windows自带的mingw64环境默认系统配置,相当于Git本身的内置基础配置,里面是官方预设的一些参数,比如默认换行符处理、证书配置之类的。这个文件属于Git安装包的一部分,更新Git的时候可能会被覆盖。
  • C:\ProgramData/Git/config 是Windows系统层面的全局系统配置,专门用来给系统内所有用户统一设置Git参数,比如全局代理、默认用户名邮箱、编辑器路径等。这个文件独立于Git安装包,修改后不会被Git更新影响。

Git在Windows上启动时会按git config --list --show-origin的输出顺序加载这两个配置,后面出现的同名配置项会覆盖前面的。

是否应该仅保留一个?

完全没必要,也不建议这么做:

  • 保留mingw64里的配置:它是Git的基础默认配置,保证Git能正常运行,而且你一般不需要修改它,更新Git时自动同步官方的默认设置也挺省心。
  • 保留ProgramData里的配置:这是你自定义系统级全局设置的专属位置,比如给所有用户统一设置Git代理,修改这个文件比逐个调整用户配置高效得多,还不会被Git更新冲掉。

如果强行删除其中一个,要么会丢失Git的基础默认配置,要么会失去系统级全局配置的能力,反而给自己添乱。

Eclipse会忽略C:\ProgramData/Git/config吗?

不会的,除非你手动修改了EGit的配置:

  • Eclipse的Git插件(EGit)默认遵循Git的标准配置加载流程:先加载系统级配置(包括上述两个文件),然后加载用户级配置(也就是%APPDATA%/Git/config或者用户目录下的.gitconfig),最后加载当前仓库的本地配置。
  • 只有当你在Eclipse的「Window > Preferences > Team > Git > Configuration」里手动勾选了“Use custom configuration file”并指定了文件路径,才会忽略系统级和默认用户级配置,只使用你指定的文件。

所以正常情况下,C:\ProgramData/Git/config里的配置会被EGit读取并生效。

内容的提问来源于stack exchange,提问作者u123

火山引擎 最新活动