
Я добавил gitconfig в мои dotfiles. Чтобы все было аккуратно, симлинк ~/.gitconfig
указывает на настоящий файл, который находится в другом месте.
Я хочу иметь такой раздел:
[include]
path = other-file.txt
в моем gitconfig. Но это не работает, потому что он пытается включить ~/other-file.txt
(относительно символической ссылки), которая не существует. Вместо этого мне приходится использовать:
[include]
path = /absolute/path/to/other-file.txt
Но если я когда-нибудь перемещу свой каталог dotfiles, то теперь этот include сломается. Есть ли способ заставить работать относительный путь?
решение1
Нет, нет способа заставить Git разрешать символические ссылки до вычисления относительного пути. В документации конкретно говорится, что это относительно загружаемого файла, который является ~/.gitconfig
.
Однако Git поддерживает несколько файлов для каждого пользователя. Есть $HOME/.gitconfig
и $XDG_CONFIG_HOME/git/config
. В последнем случае, если $XDG_CONFIG_HOME
не задано, по умолчанию используется ~/.config
. В результате вы можете сохранить конфигурацию Git в , ~/.config/git/config
а затем также иметь ~/.config/git/other-file.txt
, что должно работать правильно.