Vergleich von globaler und lokaler Konfiguration
Git verfügt über verschiedene Konfigurationsstufen. Wir haben bereits die --global
-Konfiguration kennengelernt, die auf alle Ihre Repositories angewendet wird. Es gibt auch eine --local
-Konfiguration, die nur auf das spezifische Repository angewendet wird, in dem Sie sich derzeit befinden. Lokale Konfigurationen überschreiben globale Konfigurationen für dieses bestimmte Repository.
Um die lokale Konfiguration eines Repositories anzuzeigen, müssen Sie sich innerhalb eines Git-Repositories befinden und git config --local --list
ausführen. Da wir in diesem Lab noch kein neues Repository erstellt haben, wird das Ausführen dieses Befehls derzeit zu einem Fehler führen.
Erstellen wir zunächst ein neues Verzeichnis und initialisieren darin ein Git-Repository, genau wie Sie es im "Your First Git Lab" getan haben:
mkdir my-local-repo
cd my-local-repo
git init
Sie sollten die Initialisierungsnachricht sehen:
Initialized empty Git repository in /home/labex/project/my-local-repo/.git/
Da Sie sich jetzt im Verzeichnis my-local-repo
befinden, das ein Git-Repository ist, können Sie seine lokale Konfiguration überprüfen:
git config --local --list
Es wird wahrscheinlich keine Ausgabe oder nur eine sehr minimale Ausgabe angezeigt werden, da noch keine lokalen Konfigurationen für dieses spezifische Repository festgelegt wurden.
Legen wir nun eine lokale Konfiguration fest, die sich von der globalen unterscheidet. Beispielsweise legen wir einen anderen user.name
für dieses spezifische Repository fest:
git config --local user.name "Local User"
Dieser Befehl legt den user.name
speziell für das my-local-repo
fest.
Listen Sie nun erneut die lokale Konfiguration auf:
git config --local --list
Sie sollten jetzt den lokalen user.name
sehen:
user.name=Local User
Schauen wir uns schließlich an, was passiert, wenn Sie nach dem user.name
fragen, ohne --global
oder --local
anzugeben. Git sucht die Konfiguration in folgender Reihenfolge: lokal, global und dann systemweit. Die erste gefundene Konfiguration wird verwendet.
Führen Sie diesen Befehl aus, während Sie sich noch im my-local-repo
befinden:
git config user.name
Sie sollten den lokalen Benutzernamen sehen, da die lokale Konfiguration die globale überschreibt:
Local User
Navigieren Sie nun zurück in das Verzeichnis ~/project
(außerhalb des my-local-repo
):
cd ~/project
Und führen Sie den gleichen Befehl erneut aus:
git config user.name
Diesmal, da Sie sich nicht in einem Repository mit einer lokalen Konfiguration befinden, wird Git die globale Konfiguration verwenden:
Jane Doe
Dies zeigt, wie lokale Konfigurationen Vorrang vor globalen Konfigurationen haben, sodass Sie spezifische Einstellungen für einzelne Projekte festlegen können, während Sie allgemeine Einstellungen für alle anderen beibehalten.