
Ich habe meinen Dotfiles eine Gitconfig hinzugefügt. Um Ordnung zu schaffen, ~/.gitconfig
verweist ein symbolischer Link auf die eigentliche Datei, die woanders liegt.
Ich möchte einen Abschnitt wie diesen haben:
[include]
path = other-file.txt
in meiner Gitconfig. Aber das funktioniert nicht, weil es versucht, ~/other-file.txt
(relativ zum Symlink) einzuschließen, was nicht existiert. Stattdessen muss ich Folgendes verwenden:
[include]
path = /absolute/path/to/other-file.txt
Aber wenn ich mein Dotfiles-Verzeichnis verschiebe, wird dieser Include jetzt nicht mehr funktionieren. Gibt es eine Möglichkeit, den relativen Pfad zum Laufen zu bringen?
Antwort1
Nein, es gibt keine Möglichkeit, Git dazu zu bringen, Symlinks aufzulösen, bevor ein relativer Pfad berechnet wird. In der Dokumentation heißt es ausdrücklich, dass der Pfad relativ zur geladenen Datei ist ~/.gitconfig
.
Git unterstützt jedoch mehrere Dateien pro Benutzer. Es gibt $HOME/.gitconfig
und $XDG_CONFIG_HOME/git/config
. Im letzteren Fall $XDG_CONFIG_HOME
wird standardmäßig verwendet, wenn nicht festgelegt ist ~/.config
. Daher können Sie Ihre Git-Konfiguration in speichern ~/.config/git/config
und dann auch haben ~/.config/git/other-file.txt
, was ordnungsgemäß funktionieren sollte.