Я пытаюсь использовать параметр конфигурации Git include.path для включения дополнительных файлов конфигурации. Однако, похоже, это не работает так, как ожидалось.
Конфигурационные файлы:
Файл: ~/.config/git/nested-config
[user]
name = xyz
Файл: ~/.config/git/config
[include]
path = nested-config
[core]
editor = emacs
бить
bash$ git config --global core.editor
emacs
bash$ git config --global user.name
Вторая команда не печатает «xyz», как ожидалось. Ничего не печатает.
Также пробовал,
поскольку git include.path поддерживает ~, я также попробовал следующую конфигурацию, но столкнулся с той же проблемой.
Файл: ~/.config/git/config
[include]
path = ~/.config/git/nested-config
[core]
editor = emacs
git config --global --show-origin core.editor дает /home/<user>/.config/git/config emacs. git config --global --show-origin include.path дает /home/<user>/.config/git/config nested-config. git config --global --show-origin user.name ничего не печатает. где <пользователь> — мое имя пользователя.
Первые 2 в порядке. Третий странный.





**Мне удалось это выяснить с помощью отзывчивых людей на IRC-канале #git.
Основываясь на
--[no-]includes
Respect include.* directives in config files when looking up
values. Defaults to off when a specific file is given (e.g., using
--file, --global, etc) and on when searching all config files.
git config --global --include user.name должен дать вам ожидаемые результаты
Вероятная причина такого поведения — избежать потенциально запутанных результатов при попытке исследовать данную область изолированно.
git config --global --show-origin core.editor?git config --global --show-origin include.path?