代码之家  ›  专栏  ›  技术社区  ›  Romain Valeri

core.symlinks条目在git配置列表中输出了两次?

  •  0
  • Romain Valeri  · 技术社区  · 6 年前

    我在我的配置列表中找到了*下面的条目翻了一番:

    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)
    

    现在我再也不能支持我的第一个猜测了…那么“其他”条目来自哪里,如果不是来自 全球的 系统 ?是因为git构建配置列表输出的方式,我遗漏了,导致了这个奇怪的结果吗?


    *(同时寻找一些完全无关的东西。所以我第一个承认这个问题对完成任何任务都不重要,我只是想找出我观察到的事情背后的原因,如果有人知道的话)

    1 回复  |  直到 6 年前
        1
  •  1
  •   Nicolás Alarcón Rapela Günter Zöchbauer    6 年前

    要查看当前运行的所有git设置(用户级和通用级),请执行以下操作:

    git config --list --show-origin
    

    γ射线 注释
    请记住,如果它位于包含git项目的目录中,您还将获得它的配置。


    git配置级别和文件 1

    在我们进一步讨论之前 git config 用法,让我们花点时间介绍一下配置级别。这个 Git配置 命令可以接受参数来指定要操作的配置级别。以下配置级别可用:

    • --本地
      默认情况下, Git配置 如果未传递配置选项,则将写入本地级别。本地级配置应用于上下文存储库 Git配置 在中调用。本地配置值存储在repo的.git目录中的文件中: .git/config

    • --全球
      全局级配置是特定于用户的,这意味着它应用于操作系统用户。全局配置值存储在用户主目录中的文件中。 ~ /.gitconfig 在unix系统和 C:\Users\<username>\.gitconfig 在Windows上

    • ——系统
      系统级配置应用于整个计算机。这包括操作系统上的所有用户和所有repo。系统级配置文件位于 gitconfig 文件离开系统根路径。 $(prefix)/etc/gitconfig 在Unix系统上。在Windows上,此文件位于 C:\Documents and Settings\All Users\Application Data\Git\config 在Windows XP上,和 C:\ProgramData\Git\config 在Windows Vista和更新版本上。

    因此,配置级别的优先级顺序是:本地、全局、系统。这意味着在查找配置值时,git将从本地级别开始,并冒泡到系统级别。