Einführung
In diesem Lab lernen Sie, wie Sie bestimmte Konfigurationseinstellungen in einem Git-Repository überprüfen können. Wir beginnen damit, den Befehl git config zu verwenden, um einzelne Einstellungen abzufragen und zu verstehen, wie Sie Werte wie Ihren globalen Benutzernamen und Ihre E-Mail-Adresse abrufen können.
Als Nächstes werden wir die verschiedenen Ebenen der Git-Konfiguration untersuchen, wobei wir uns speziell auf den Unterschied zwischen globalen und lokalen Einstellungen konzentrieren. Sie lernen, wie Sie alle Ihre Konfigurationen auf beiden Ebenen auflisten können, um zu sehen, wie sie angewendet werden und wie lokale Einstellungen globale überschreiben können. Abschließend werden wir behandeln, wie Sie Situationen bewältigen können, in denen ein angeforderter Konfigurationswert fehlen könnte.
Verwenden Sie git config, um Einstellungen abzufragen
In diesem Schritt lernen wir, wie man den Befehl git config verwendet, um Git-Einstellungen abzufragen. Git verwendet Konfigurationsdateien, um Einstellungen zu speichern, die steuern, wie es sich verhält. Diese Einstellungen können global (für alle Ihre Git-Repositories) oder lokal (für ein bestimmtes Repository) angewendet werden.
Zunächst überprüfen wir eine globale Einstellung. Wir haben Ihren Namen und Ihre E-Mail-Adresse global im Einrichtungsabschnitt konfiguriert. Sie können Ihren globalen Benutzernamen mit der Option --global und dem Einstellungsnamen user.name abfragen:
git config --global user.name
Sie sollten den Namen sehen, den Sie bei der Einrichtung konfiguriert haben:
Jane Doe
Jetzt fragen wir Ihre globale Benutzer-E-Mail-Adresse ab:
git config --global user.email
Sie sollten die E-Mail-Adresse sehen, die Sie konfiguriert haben:
jane.doe@example.com
Diese Befehle zeigen Ihnen die Werte, die Git standardmäßig für Ihre Commits in allen Repositories auf diesem System verwenden wird. Das Verständnis, wie man diese Einstellungen abfragt, ist der erste Schritt bei der Verwaltung Ihrer Git-Konfiguration.
Überprüfen Sie globale und lokale Konfigurationen
In diesem Schritt werden wir den Unterschied zwischen globalen und lokalen Git-Konfigurationen untersuchen und lernen, wie Sie alle Ihre Einstellungen anzeigen können.
Git verfügt über verschiedene Ebenen der Konfiguration. Die häufigsten sind:
- Systemebene: Wird auf alle Benutzer auf dem System angewendet. (Weniger üblich für einzelne Benutzer)
- Globale Ebene: Wird auf Ihr Benutzerkonto auf dem System für alle Ihre Repositories angewendet. Diese Einstellungen werden in
~/.gitconfiggespeichert. - Lokale Ebene: Wird nur auf das aktuelle Repository angewendet. Diese Einstellungen werden in
.git/configinnerhalb des Repositories gespeichert.
Lokale Konfigurationen überschreiben globale Konfigurationen, und globale Konfigurationen überschreiben Systemkonfigurationen.
Um alle Ihre globalen Einstellungen anzuzeigen, können Sie die Optionen --global --list verwenden:
git config --global --list
Sie sollten eine Ausgabe ähnlich der folgenden sehen, die den von uns eingerichteten user.name und user.email sowie die init.defaultBranch anzeigt:
user.name=Jane Doe
user.email=jane.doe@example.com
init.defaultBranch=master
Jetzt erstellen wir eine lokale Konfiguration in unserem my-time-machine-Repository. Navigieren Sie zurück in das Repository-Verzeichnis:
cd ~/project/my-time-machine
Wir können einen lokalen Benutzernamen festlegen, der nur auf dieses bestimmte Repository angewendet wird. Verwenden wir einen anderen Namen:
git config user.name "Time Traveler"
Beachten Sie, dass wir diesmal die Option --global nicht verwendet haben. Dies teilt Git mit, die Konfiguration lokal für das aktuelle Repository festzulegen.
Jetzt lassen Sie uns die lokalen Konfigurationen für dieses Repository mit --local --list anzeigen:
git config --local --list
Sie sollten den von uns gerade festgelegten lokalen Benutzernamen sehen:
user.name=Time Traveler
Schließlich lassen Sie uns alle Konfigurationen anzeigen, die auf das aktuelle Repository angewendet werden, einschließlich sowohl lokaler als auch globaler Einstellungen. Git zeigt zunächst die lokalen Einstellungen an, da diese Vorrang haben:
git config --list
Die Ausgabe zeigt sowohl lokale als auch globale Einstellungen. Beachten Sie, dass user.name "Time Traveler" (die lokale Einstellung) und user.email "jane.doe@example.com" (die globale Einstellung, da wir keine lokale E-Mail festgelegt haben) anzeigt:
user.name=Time Traveler
user.email=jane.doe@example.com
init.defaultBranch=master
Dies zeigt, wie Git lokale Konfigurationen gegenüber globalen bevorzugt.
Umgang mit fehlenden Konfigurationswerten
In diesem Schritt werden wir sehen, was passiert, wenn Sie versuchen, einen Git-Konfigurationswert abzufragen, der nicht existiert, und wie Git dies behandelt.
Manchmal versuchen Sie möglicherweise, eine Einstellung abzufragen, die noch nicht global oder lokal konfiguriert wurde. Versuchen wir, eine hypothetische Einstellung namens core.editor abzufragen, die wir nicht explizit festgelegt haben:
git config core.editor
Da wir in unserem my-time-machine-Repository keine lokale core.editor-Einstellung festgelegt haben, wird Git nach einer globalen core.editor-Einstellung suchen. Wenn auch diese nicht festgelegt ist (was in dieser Umgebung der Fall ist), wird Git mit einem Fehler beendet und nichts ausgeben oder einen Standardwert ausgeben, wenn einer systemweit konfiguriert ist. Je nach der Standardkonfiguration des Systems sehen Sie möglicherweise eine Ausgabe ähnlich der folgenden oder gar keine Ausgabe:
Wichtig ist, dass Git keinen spezifischen Wert für core.editor in den lokalen oder globalen Konfigurationsdateien findet.
Jetzt versuchen wir, eine Einstellung abzufragen, die wir wissen, dass sie global, aber nicht lokal existiert, wie user.email:
git config user.email
Obwohl wir uns im my-time-machine-Verzeichnis befinden, in dem wir einen lokalen user.name festgelegt haben, haben wir keine lokale user.email-Einstellung festgelegt. Git wird zunächst nach einer lokalen user.email-Einstellung suchen. Da es keine findet, wird es dann nach einer globalen user.email-Einstellung suchen und diesen Wert zurückgeben:
jane.doe@example.com
Dies bestätigt, dass Git bei fehlender lokaler Konfiguration auf die globale Konfiguration zurückgreift.
Das Verständnis, wie Git nach Konfigurationswerten sucht (zunächst lokal, dann global, dann systemweit), ist entscheidend für die Fehlerbehebung und die effektive Verwaltung Ihrer Git-Umgebung.
Zusammenfassung
In diesem Lab haben wir gelernt, wie man den Befehl git config verwendet, um Git-Einstellungen abzufragen. Wir haben begonnen, indem wir spezifische globale Einstellungen wie user.name und user.email mit der Option --global abgefragt haben. Dies hat gezeigt, wie man einzelne Konfigurationswerte abruft, die auf alle Repositories auf dem System angewendet werden.
Anschließend haben wir die verschiedenen Ebenen der Git-Konfiguration untersucht: System-, globale und lokale Ebene. Wir haben verstanden, dass lokale Einstellungen globale Einstellungen überschreiben. Wir haben gelernt, wie man alle globalen Einstellungen mit git config --global --list auflistet, um die vollständige Konfiguration anzuzeigen, die auf unser Benutzerkonto angewendet wird. Dies hat uns einen umfassenden Überblick über die Standard-Einstellungen gegeben, die Git verwendet.



