git config включает: путь с переменной

Конфигурация Git позволяет включать такие файлы, как:

[include]
    path = /path/to/file

Мой вопрос: могу ли я использовать переменную среды для указания имени файла? Как 2_.


person Michael    schedule 01.09.2020    source источник


Ответы (2)


Переменные среды не разрешаются, когда Git читает файл конфигурации.

Единственный, который может быть расширен, это ~:

Если шаблон начинается с ~/, ~ будет заменен содержимым переменной среды HOME.

Создание необходимой конфигурации (например, через .bashrc) является одним из обходных путей.

person VonC    schedule 01.09.2020

Нет, это невозможно. Git не оценивает переменные окружения при обработке config.

Существует директива условного включения [includeIf], которая позволяет включать разные конфигурации в зависимости от того, где находится репозиторий (gitdir:) или какая ветка извлечена (onbranch:). Например, следующий фрагмент:

[includeIf "gitdir:~/repos/work"]
    path = ~/repos/work/.gitconfig

в вашем .gitconfig заставит Git включать только ~/repos/work/.gitconfig для репозиториев под ~/repos/work - например. ~/repos/work/proj1, но не ~/repos/fun/project2. Дополнительную информацию см. на странице https://git-scm.com/docs/git-config#_includes

Это доступно с версии Git 2.13.

person blami    schedule 01.09.2020