So überprüfen Sie, ob ein Git-Repository eine bestimmte Konfigurationseinstellung hat

GitGitBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

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.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL git(("Git")) -.-> git/SetupandConfigGroup(["Setup and Config"]) git(("Git")) -.-> git/GitHubIntegrationToolsGroup(["GitHub Integration Tools"]) git/SetupandConfigGroup -.-> git/config("Set Configurations") git/GitHubIntegrationToolsGroup -.-> git/cli_config("Configure CLI") subgraph Lab Skills git/config -.-> lab-560083{{"So überprüfen Sie, ob ein Git-Repository eine bestimmte Konfigurationseinstellung hat"}} git/cli_config -.-> lab-560083{{"So überprüfen Sie, ob ein Git-Repository eine bestimmte Konfigurationseinstellung hat"}} end

Verwenden von git config zur Abfrage von Einstellungen

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:

[email protected]

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 von globalen und lokalen 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 ~/.gitconfig gespeichert.
  • Lokale Ebene: Wird nur auf das aktuelle Repository angewendet. Diese Einstellungen werden in .git/config innerhalb 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
[email protected]
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 "[email protected]" (die globale Einstellung, da wir keine lokale E-Mail festgelegt haben) anzeigt:

user.name=Time Traveler
[email protected]
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:

[email protected]

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.