Запись core.symlinks выводится дважды в списке конфигурации git? - PullRequest
0 голосов
/ 27 января 2019

Я нашел в своем списке настроек * следующую запись, удвоенную:

git config -l | sort
... (irrelevant here)
core.symlinks=false
core.symlinks=false
... (irrelevant here)

После короткого размышления я подумал, что понял, почему: Эй, конечно!Я не указал источник для списка конфигурации, поэтому вывод, который я вижу, - это объединение записей из всех источников ... (я помню, как наблюдал этот результат раньше, для записей, которые я установил как на локальном, так и на глобальном уровнях), поэтому(после короткое посещение в документе ) Я проверил отдельно:

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)

И на данный момент я больше не могу поддержать мое первое предположение ... так откуда же взята "другая" запись, если не из global или system?Это просто что-то вроде способа, которым git создает вывод списка конфигурации, который я пропускаю и вызывает этот странный результат?


* (при поиске чего-то совершенно не связанного. Поэтому я первыйпризнать, что этот вопрос не имеет решающего значения для выполнения какой-либо задачи, я просто хотел выяснить, в чем причина того, что я наблюдал, если кто-то знает, что у них на голове)

1 Ответ

0 голосов
/ 27 января 2019

Чтобы увидеть все текущие настройки git (как на уровне пользователя, так и на общем уровне), выполните:

git config --list --show-origin

? Примечание
Помните, что еслион находится в каталоге, содержащем проект git, вы также получите его конфигурацию.

уровни конфигурации git и файлы 1

Прежде чем мы продолжим обсуждение git config, давайте немного поговорим о уровнях конфигурации.Команда git config может принимать аргументы для указания, на каком уровне конфигурации работать.Доступны следующие уровни конфигурации:

  • - локальный
    По умолчанию git config выполнит запись на локальный уровень, если не задан параметр конфигурации.Конфигурация локального уровня применяется к хранилищу контекста, в который вызывается git config. Значения локальной конфигурации хранятся в файле, который можно найти в каталоге .git репозитория: .git/config

  • - global
    Конфигурация глобального уровня зависит от пользователя, то есть применяется к пользователю операционной системы.Глобальные значения конфигурации хранятся в файле, который находится в домашнем каталоге пользователя.~ /.gitconfig в системах Unix и C:\Users\<username>\.gitconfig в Windows

  • - система
    Конфигурация на уровне системы применяется ко всей машине.Это касается всех пользователей операционной системы и всех репозиториев.Файл конфигурации системного уровня находится в файле 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 будет запускаться на локальном уровне и подниматься до уровня системы.

...