de en

Thorsten Reimers

Unterschiedliche Globale Git Konfigurationen

21.10.2023

Wie kann man zwischen globalen Git Konfigurationen wechseln?

Ich habe diese tolle Anleitung gefunden: Can I specify multiple users for myself in .gitconfig?

Die Idee: Einfach den Pfad des Git-Verzeichnisses in einem IncludeIf untersuchen und damit eine Konfiguration einbinden. Man legt dann unterschiedliche Konfigurationsdateien für verschiedene Pfade an und wechselt darüber die Committer E-Mail Adresse:

~/.gitconfig-work

[user]
    email = worker@example.com

bzw.

~/.gitconfig-personal

[user]
    email = personal@example.org

In der zentralen Git-Konfigurationsdatei werden dann die IncludeIfs ergänzt:

[includeIf "gitdir:work/"]
        path = .gitconfig-work
[includeIf "gitdir:personal/"]
        path = .gitconfig-personal

Überprüfen kann man das Ganze dann in einem Git-Verzeichnis mit

git config -l | grep user
user.name=Billy Dean
user.email=worker@example.com

IncludeIf hat eine mächtige Syntax (angelehnt an gitignore). Es erlaubt die Verwendung von führendem "~", "." oder "/". Ansonsten wird "**/" ergänzt. Ein abschließendes "/" wird zu "/**" erweitert (siehe auch hier).