Подтвердить что ты не робот

Какой приоритет в конфигурации git?

Если я установлю конфигурацию в моем файле ~/.gitconfig, какая конфигурация переопределит его?

  • Конфигурация уровня проекта: .git/config
  • Конфигурация системного уровня: /etc/gitconfig
4b9b3361

Ответ 1

Из руководства Git (читайте http://git-scm.com/docs/git-config#FILES)

Если не указано явно с --file, есть четыре файла, где git config будет искать параметры конфигурации:

$(prefix)/etc/gitconfig

System-wide configuration file.

$XDG_CONFIG_HOME/git/config

Второй пользовательский файл конфигурации. Если $ XDG_CONFIG_HOME не задан или пуст, будет использоваться $ HOME/.config/git/config. Любая однозначная переменная, установленная в этом файле, будет перезаписана тем, что находится в ~/.gitconfig. Не рекомендуется создавать этот файл, если вы иногда используете более старые версии Git, так как поддержка этого файла была добавлена сравнительно недавно.

~/.gitconfig

Пользовательский файл конфигурации. Также называется "глобальным" файлом конфигурации.

$GIT_DIR/config

Конфигурационный файл репозитория.

Если дополнительные параметры не указаны, все параметры чтения будут читать все эти файлы, которые доступны. Если файл глобальной или общесистемной конфигурации недоступен, они будут игнорироваться. Если файл конфигурации репозитория недоступен или не читается, git config завершит работу с ненулевым кодом ошибки. Однако ни в одном из случаев не будет выдано сообщение об ошибке.

Файлы читаются в указанном выше порядке, причем последнее найденное значение имеет приоритет над значениями, прочитанными ранее. Когда взяты несколько значений, будут использоваться все значения ключа из всех файлов.

Ответ 2

Самый низкий приоритет:

  • /etc/gitconfig: системная ширина, отредактированная при использовании параметра --system
  • ~/.gitconfig: настраиваемая пользователем конфигурация, отредактированная при использовании параметра --global
  • .git/config: конкретная конфигурация репозитория