In diesem Dokument werden wir uns den Befehl git config
genauer ansehen. Wir haben git config
Verwendung auf unserer Seite „Einrichten eines Repositorys“. Der Befehl git config
ist eine praktische Funktion, mit der Git-Konfigurationswerte für ein globales oder lokales Projekt festgelegt werden Diese Konfigurationsebenen entsprechen .gitconfig
Textdateien. Durch Ausführen von git config
wird eine Konfigurationstextdatei geändert. Wir werden allgemeine Konfigurationseinstellungen behandeln wie E-Mail, Benutzername und Editor. Wir werden Git-Aliase diskutieren, mit denen Sie Verknüpfungen für häufig verwendete Git-Operationen erstellen können. Wenn Sie sich mit git config
und den verschiedenen Git-Konfigurationseinstellungen vertraut machen, können Sie einen leistungsstarken, benutzerdefinierten Git-Workflow erstellen .
Verwendung
Der grundlegendste Anwendungsfall für git config
besteht darin, ihn mit einem Konfigurationsnamen aufzurufen, der den eingestellten Wert bei anzeigt Dieser Name. Konfigurationsnamen sind durch Punkte getrennte Zeichenfolgen, die aus einem „Abschnitt“ und einem „Schlüssel“ basierend auf ihrer Hierarchie bestehen. Beispiel: user.email
In diesem Beispiel ist E-Mail eine untergeordnete Eigenschaft des Benutzerkonfigurationsblocks. Dadurch wird die konfigurierte E-Mail-Adresse zurückgegeben, die Git gegebenenfalls lokal erstellten Commits zuordnet.
Git-Konfigurationsebenen und -Dateien
Bevor wir die Verwendung von git config
weiter erläutern, nehmen wir uns einen Moment Zeit, um die Konfigurationsebenen zu behandeln. Der Befehl git config
kann Argumente akzeptieren, um anzugeben, auf welcher Konfigurationsebene gearbeitet werden soll. Die folgenden Konfigurationsebenen sind verfügbar:
-
--local
Standardmäßig ist git config
schreibt auf eine lokale Ebene, wenn keine Konfigurationsoption übergeben wird. Die Konfiguration auf lokaler Ebene wird auf das Kontext-Repository angewendet, in dem git config
aufgerufen wird. Lokale Konfigurationswerte werden in einer Datei gespeichert, die sich im .git-Verzeichnis des Repos befindet: .git/config
-
--global
Die Konfiguration auf globaler Ebene erfolgt vom Benutzer. Dies bedeutet, dass es auf einen Betriebssystembenutzer angewendet wird. Globale Konfigurationswerte werden in einer Datei gespeichert, die sich im Ausgangsverzeichnis eines Benutzers befindet. ~ /.gitconfig
auf Unix-Systemen und C:\Users\\.gitconfig
unter Windows
-
--system
Die Konfiguration auf Systemebene wird auf einen gesamten Computer angewendet. Dies gilt für alle Benutzer eines Betriebssystems und alle Repos. Die Konfigurationsdatei auf Systemebene befindet sich in einer gitconfig
-Datei außerhalb des Systemstammpfads. $(prefix)/etc/gitconfig
auf Unix-Systemen. Unter Windows befindet sich diese Datei unter C:\Documents and Settings\All Users\Application Data\Git\config
unter Windows XP und unter C:\ProgramData\Git\config
unter Windows Vista und neuer.
Die Prioritätsreihenfolge für Konfigurationsebenen lautet daher: lokal, global, System. Dies bedeutet, dass Git bei der Suche nach einem Konfigurationswert auf lokaler Ebene beginnt und bis zur Systemebene aufsteigt.
Schreiben eines Werts
Erweitern des bereits bekannten Wissens Schauen wir uns zu git config
ein Beispiel an, in dem wir einen Wert schreiben:
In diesem Beispiel wird geschrieben Der Wert zum Konfigurationsnamen
user.email
. Es wird das Flag --global
verwendet, um diesen Wert zu erhalten ist für den aktuellen Betriebssystembenutzer festgelegt.
Git-Konfigurationseditor – core.editor
Viele Git-Befehle starten einen Texteditor, um weitere Eingaben anzufordern. Eine der häufigsten Verwendungszwecke Fälle für git config
konfigurieren, welchen Editor Git verwenden soll. Nachfolgend finden Sie eine Tabelle mit gängigen Editoren und übereinstimmenden git config
-Befehlen:
Zusammenführungswerkzeuge
Im Falle eines Zusammenführungskonflikts startet Git ein „Zusammenführungswerkzeug“. Standardmäßig verwendet Git eine interne Implementierung o f das gemeinsame Unix-Diff-Programm. Das interne Git-Diff ist ein Viewer für minimale Zusammenführungskonflikte. Es gibt viele externe Konfliktlösungen für Zusammenführungen von Drittanbietern, die stattdessen verwendet werden können. Eine Übersicht über verschiedene Zusammenführungstools und -konfigurationen finden Sie in unserem Handbuch zu Tipps und Tools zum Beheben von Konflikten mit Git.
Farbige Ausgaben
Git unterstützt farbige Terminalausgaben, die beim schnellen Lesen der Git-Ausgabe helfen. Sie können Ihre Git-Ausgabe anpassen, um ein personalisiertes Farbthema zu verwenden. Mit dem Befehl git config
werden diese Farbwerte festgelegt.
color.ui
Dies ist die Hauptvariable für Git-Farben. Wenn Sie den Wert auf false setzen, werden alle farbigen Terminalausgaben von Git deaktiviert.
Standardmäßig color.ui
ist auf auto eingestellt, wodurch Farben auf den unmittelbaren Terminalausgabestream angewendet werden.Bei der automatischen Einstellung wird die Farbcode-Ausgabe weggelassen, wenn der Ausgabestream in eine Datei umgeleitet oder an einen anderen Prozess weitergeleitet wird.
Sie können den Wert color.ui
auf immer welchen Wert setzen Wendet auch die Farbcode-Ausgabe an, wenn der Ausgabestream auf Dateien oder Pipes umgeleitet wird. Dies kann unbeabsichtigt zu Problemen führen, da die empfangende Pipe möglicherweise keine farbcodierte Eingabe erwartet.
Git-Farbwerte
Zusätzlich zu color.ui
gibt es viele andere granulare Farbeinstellungen. Wie bei color.ui
können diese Farbeinstellungen alle auf false, auto oder immer gesetzt werden. Für diese Farbeinstellungen kann auch ein bestimmter Farbwert festgelegt werden. Einige Beispiele für unterstützte Farbwerte sind:
- normal
- schwarz
- rot
- rot
- grün
- gelb
- blau
- magenta
- cyan
- weiß
Farben können auch als angegeben werden hexadezimale Farbcodes wie # ff0000 oder ANSI 256-Farbwerte, wenn Ihr Terminal dies unterstützt.
Einstellungen für die Git-Farbkonfiguration
color.branch
- Konfiguriert die Ausgabefarbe des Git-Verzweigungsbefehls
color.branch.
slot >
- Dieser Wert gilt auch für die Ausgabe von Git-Zweigen. Der Steckplatz > ist einer der folgenden:
- 1. aktuell: der aktuelle Zweig
- 2. lokal: eine lokale Niederlassung
- 3. remote: eine Remote-Zweigstelle in refs / remotes
- 4. Upstream: Ein Upstream-Tracking-Zweig
- 5. normal: jede andere Referenz
color.diff
- Wendet Farben auf
git diff
,git log
undgit show
Ausgabe
color.diff
.slot >
- Konfigurieren eines Steckplatzes > Wert unter
color.diff
teilt git mit, für welchen Teil des Patches eine bestimmte Farbe verwendet werden soll.- 1. Kontext: Der Kontexttext des Diff. Git-Kontext sind die Textinhaltszeilen, die in einem Diff oder Patch angezeigt werden und Änderungen hervorheben.
- 2. plain: ein Synonym für Kontext
- 3. meta: Wendet Farbe auf die Metainformationen des Diff
- 4 an. frag: Wendet Farbe auf den „Hunk-Header“ oder die „Funktion im Hunk-Header“ an.
- 5. alt: Wendet eine Farbe auf die entfernten Linien im Diff
- 6 an. neu: färbt die hinzugefügten Linien des Diff
- 7. Festschreiben: Farben schreiben Überschriften innerhalb des Diff fest.
- 8. Leerzeichen: Legt eine Farbe für Leerzeichenfehler in einem diff
color.decorate.
-Slot
- Passen Sie die Farbe für die Ausgabe von
git log --decorate
an. Die unterstützten Werte für den Steckplatz > sind:branch
,remoteBranch
,tag
,stash
oderHEAD
. Sie gelten jeweils für lokale Zweige, Fernverfolgungszweige, Tags, versteckte Änderungen undHEAD
.
color.grep
- Wendet Farbe auf die Ausgabe von git grep an.
color.grep.
Steckplatz >
- Gilt auch für Git grep. Die Variable slot > gibt an, welcher Teil der grep-Ausgabe Farbe anwenden soll.
- 1. Kontext: Nicht übereinstimmender Text in Kontextzeilen
- 2. Dateiname: Dateinamenpräfix
- 3. Funktion: Funktionsnamenzeilen
- 4. Leinenzahl: Zeilennummernpräfix
- 5. Übereinstimmung: übereinstimmender Text
- 6. matchContext: Übereinstimmender Text in Kontextzeilen
- 7. matchSelected: Übereinstimmender Text in ausgewählten Zeilen
- 8. ausgewählt: Nicht übereinstimmender Text in ausgewählten Zeilen
- 9. Trennzeichen: Trennzeichen zwischen Feldern in einer Zeile (:, – und =) und zwischen Hunks (-)
8. color.interactive
- Diese Variable wendet Farbe für interaktive Eingabeaufforderungen und Anzeigen an. Beispiele sind
git add --interactive
undgit clean --interactive
9. color.interactive.slot >
- Die Variable slot > kann angegeben werden, um spezifischere Ziele zu erreichen. “ interaktive Ausgabe „. Die verfügbaren Werte für den Steckplatz > sind: Eingabeaufforderung, Header, Hilfe, Fehler; und jeder wirkt auf die entsprechende interaktive Ausgabe.
color.pager
- Aktiviert oder deaktiviert die farbige Ausgabe, wenn der Pager verwendet wird
color.showBranch
- Aktiviert oder deaktiviert die Farbausgabe für den Befehl git show branch
12. color.status
- Ein boolescher Wert, der die Farbausgabe für den Git-Status aktiviert oder deaktiviert.
13. color.status.slot
>
Wird verwendet, um eine benutzerdefinierte Farbe für bestimmte Git-Statuselemente anzugeben. Steckplatz > unterstützt die folgenden Werte:
- 1.Kopfzeile
- Zielt auf den Kopfzeilentext des Statusbereichs ab.
- 2. hinzugefügt oder aktualisiert
- Beide Zieldateien, die hinzugefügt, aber nicht festgeschrieben wurden
3. changed
- Zielt auf Dateien ab, die geändert, aber nicht zum Git-Index hinzugefügt wurden.
- Zielt auf Dateien ab, die nicht von Git verfolgt werden
- Wendet Farbe auf den aktuellen Zweig an.
- 6. nobranch
- Die Farbe der Warnung „kein Zweig“ wird in
- 7 angezeigt. nicht zusammengeführte
- Farbdateien mit nicht zusammengeführten Änderungen
Aliase
Möglicherweise kennen Sie das Konzept der Aliase von die Befehlszeile Ihres Betriebssystems; Andernfalls handelt es sich um benutzerdefinierte Verknüpfungen, die definieren, welcher Befehl zu längeren oder kombinierten Befehlen erweitert wird. Aliase sparen Ihnen Zeit und Energiekosten beim Eingeben häufig verwendeter Befehle. Git bietet ein eigenes Alias-System. Ein häufiger Anwendungsfall für Git-Aliase ist das Verkürzen Git-Aliase werden in Git-Konfigurationsdateien gespeichert. Dies bedeutet, dass Sie den Befehl git config
verwenden können, um Aliase zu konfigurieren.
In diesem Beispiel wird ein CI-Alias für den Befehl git commit
erstellt. Sie können dann git commit
aufrufen, indem Sie . Aliase können auch auf andere Aliase verweisen, um leistungsstarke Combos zu erstellen.
In diesem Beispiel wird eine Alias-Änderung erstellt, aus der das besteht ci-Alias in einen neuen Alias, der --amend flag
verwendet.
Formatieren von & Leerzeichen
Git verfügt über mehrere „Leerzeichen“ -Funktionen, die so konfiguriert werden können, dass Leerzeichen hervorgehoben werden Probleme bei der Verwendung von Git Diff. Die Leerzeichenprobleme werden mit der konfigurierten Farbe color.diff.whitespace
hervorgehoben. Die folgenden Funktionen sind standardmäßig aktiviert:
-
blank-at-eol
hebt verwaiste Leerzeichen an den Zeilenenden hervor -
space-before-tab
hebt ein Leerzeichen hervor, das beim Einrücken einer Zeile vor einem Tabulatorzeichenblank-at-eof
hebt leere Zeilen hervor, die am Ende einer Datei eingefügt werden
Die folgenden Funktionen sind standardmäßig deaktiviert
-
indent-with-non-tab
hebt eine Zeile hervor, die mit Leerzeichen anstelle von Tabulatoren eingerückt ist. -
tab-in-indent
hebt an Der anfängliche Tabulatoreinzug als Fehler -
trailing-space
ist eine Abkürzung für blank-at-eol und blank-at-eof -
cr-at-eol highlights
ein Wagenrücklauf an den Zeilenenden -
tabwidth=
definiert, wie viele Zeichenpositionen ein Tab einnimmt. Der Standardwert ist 8. Zulässige Werte sind 1-63
Zusammenfassung
In diesem Artikel haben wir die Verwendung von git config command
. Wir haben diskutiert, wie der Befehl eine überzeugende Methode zum Bearbeiten von rohen git config
-Dateien im Dateisystem ist. Wir haben uns grundlegende Lese- und Schreibvorgänge für Konfigurationsoptionen angesehen. Wir haben uns gängige Konfigurationsmuster angesehen:
- So konfigurieren Sie den Git-Editor
- So überschreiben Sie Konfigurationsebenen
- So setzen Sie Konfigurationsstandards zurück
- So passen Sie Git-Farben an
Insgesamt ist git config
ein Hilfsprogramm, das eine Verknüpfung zum Bearbeiten der rohen git config
Dateien auf der Festplatte. Wir haben uns eingehend mit persönlichen Anpassungsoptionen befasst. Grundkenntnisse über Git-Konfigurationsoptionen sind Voraussetzung für die Einrichtung eines Repositorys. In unserem Leitfaden finden Sie eine Demonstration der Grundlagen.