Git项目,全局和系统变量的优先级是什么?

dja*_*fan 29 git git-config

Git项目,全局和系统变量的优先级是什么?

所以,如果我在我的.gitconfig文件中全局设置配置,哪个配置会覆盖它:它是项目级配置还是系统级配置?

Mic*_*ohl 53

从最低到最高优先级:

  • /etc/gitconfig:系统范围,--system使用参数时编辑
  • ~/.gitconfig:用户特定配置,在使用--global参数时编辑
  • .git/config:特定于存储库的配置

  • 谷歌说`C:\ Program Files\Git\etc\gitconfig`,我必须接受它的说法. (3认同)
  • 感谢您消化手册并以星期一早上的格式提供给我:) (3认同)
  • Windows系统上的系统范围文件在哪里? (2认同)

Mic*_*ael 22

从Git手册(阅读http://git-scm.com/docs/git-config#FILES)

如果没有使用--file显式设置,则有四个文件,其中git config将搜索配置选项:

$(前缀)的/ etc/gitconfig

系统范围的配置文件.

$ XDG_CONFIG_HOME /混帐/配置

第二个特定于用户的配置文件.如果$ XDG_CONFIG_HOME未设置或为空,则将使用$ HOME/.config/git/config.此文件中设置的任何单值变量都将被〜/ .gitconfig中的任何内容覆盖.如果您有时使用旧版本的Git,最好不要创建此文件,因为最近添加了对此文件的支持.

〜/的.gitconfig

用户特定的配置文件.也称为"全局"配置文件.

$ GIT_DIR /配置

存储库特定的配置文件.

如果没有给出进一步的选项,所有阅读选项将读取所有可用的文件.如果全局或系统范围的配置文件不可用,则将忽略它们.如果存储库配置文件不可用或不可读,git config将以非零错误代码退出.但是,在任何情况下都不会发出错误消息.

按上面给出的顺序读取文件,找到的最后一个值优先于先前读取的值.当获取多个值时,将使用来自所有文件的键的所有值.