Suche…


Syntax

  • git config [<Dateioption>] name [Wert] # einer der häufigsten Anwendungsfälle von git config

Parameter

Parameter Einzelheiten
--system Bearbeitet die systemweite Konfigurationsdatei, die für jeden Benutzer verwendet wird (unter Linux befindet sich diese Datei unter $(prefix)/etc/gitconfig ).
--global Bearbeitet die globale Konfigurationsdatei, die für jedes Repository verwendet wird, an dem Sie arbeiten (unter Linux befindet sich diese Datei unter ~/.gitconfig
--local Bearbeitet die respositoryspezifische Konfigurationsdatei, die sich in .git/config in Ihrem Repository befindet. Dies ist die Standardeinstellung

Benutzername und E-Mail-Adresse

Gleich nach der Installation von Git sollten Sie als erstes Ihren Benutzernamen und Ihre E-Mail-Adresse festlegen. Geben Sie aus einer Shell Folgendes ein:

git config --global user.name "Mr. Bean"
git config --global user.email [email protected]
  • git config ist der Befehl zum Abrufen oder Einstellen von Optionen
  • --global bedeutet, dass die für Ihr Benutzerkonto spezifische Konfigurationsdatei bearbeitet wird
  • user.name und user.email sind die Schlüssel für die Konfigurationsvariablen. user ist der Abschnitt der Konfigurationsdatei. name und email sind die Namen der Variablen.
  • "Mr. Bean" und [email protected] sind die Werte, die Sie in den beiden Variablen speichern. Beachten Sie die Anführungszeichen um "Mr. Bean" , die erforderlich sind, weil der Wert, den Sie speichern, ein Leerzeichen enthält.

Mehrere Git-Konfigurationen

Sie haben bis zu 5 Quellen für die Git-Konfiguration:

  • 6 Dateien:
    • %ALLUSERSPROFILE%\Git\Config (nur Windows)
    • (System) <git>/etc/gitconfig , wobei <git> der Installationspfad von git ist.
      (Unter Windows ist es <git>\mingw64\etc\gitconfig )
    • (System) $XDG_CONFIG_HOME/git/config (nur Linux / Mac)
    • (global) ~/.gitconfig (Windows: %USERPROFILE%\.gitconfig )
    • (local) .git/config (innerhalb eines git repo $GIT_DIR )
    • eine dedizierte Datei (mit git config -f ), die zum Beispiel zum Ändern der Konfiguration von Submodulen verwendet wird: git config -f .gitmodules ...
  • die Befehlszeile mit git -c : git -c core.autocrlf=false fetch würde jede andere außer Kraft setzen core.autocrlf zu false , nur für diesen fetch Befehl.

Die Reihenfolge ist wichtig: Jede in einer Quelle eingestellte Konfiguration kann von einer darunter aufgelisteten Quelle überschrieben werden.

git config --system/global/local ist der Befehl, 3 dieser Quellen aufzulisten, aber nur git config -l würde alle aufgelösten Konfigurationen auflisten.
"Gelöst" bedeutet, dass nur der endgültig überschriebene Konfigurationswert aufgeführt wird.

Wenn Sie sehen möchten, welche Config aus welcher Datei stammt, geben Sie seit git 2.8 Folgendes ein:

git config --list --show-origin

Festlegen, welcher Editor verwendet werden soll

Es gibt verschiedene Möglichkeiten, den Editor festzulegen, der zum Festschreiben, Umbasieren usw. verwendet werden soll.

  • Ändern Sie die Konfigurationseinstellung core.editor .

    $ git config --global core.editor nano
    
  • GIT_EDITOR Umgebungsvariable GIT_EDITOR .

    Für einen Befehl:

    $ GIT_EDITOR=nano git commit
    

    Oder für alle Befehle, die in einem Terminal laufen. Hinweis: Dies gilt nur bis zum Schließen des Terminals.

    $ export GIT_EDITOR=nano
    
  • Um den Editor für alle Terminalprogramme und nicht nur für Git zu ändern, legen Sie die Umgebungsvariable VISUAL oder EDITOR . (Siehe VISUAL vs EDITOR .)

    $ export EDITOR=nano
    

    Hinweis: Wie oben gilt dies nur für das aktuelle Terminal. Ihre Shell verfügt normalerweise über eine Konfigurationsdatei, mit der Sie diese dauerhaft festlegen können. ( ~/.bashrc zum Beispiel bei bash Ihre ~/.bashrc oder ~/.bash_profile .)

Einige Texteditoren (hauptsächlich GUI-Editoren) führen jeweils nur eine Instanz aus und werden im Allgemeinen beendet, wenn bereits eine Instanz von ihnen geöffnet ist. Wenn dies für Ihren Texteditor der Fall ist, druckt Git die Nachricht Aborting commit due to empty commit message. ohne dass Sie die Commit-Nachricht zuerst bearbeiten dürfen. Wenn dies bei Ihnen der --wait , konsultieren Sie die Dokumentation Ihres Texteditors, um zu sehen, ob er eine --wait (oder ähnliches) hat, durch die das Dokument --wait wird, bis das Dokument geschlossen wird.

Zeilenenden konfigurieren

Beschreibung

Wenn Sie mit einem Team arbeiten, das im gesamten Projekt verschiedene Betriebssysteme (Betriebssysteme) verwendet, kann es manchmal zu Problemen beim Umgang mit Leitungsenden kommen.

Microsoft Windows

Wenn Sie mit einem Microsoft Windows-Betriebssystem arbeiten, haben die Zeilenenden normalerweise die Form Carriage Return + Line Feed (CR + LF). Das Öffnen einer Datei, die mit einem Unix-Computer wie Linux oder OSX bearbeitet wurde, kann zu Problemen führen, was den Anschein erweckt, dass Text keine Zeilenenden hat. Dies liegt daran, dass Unix-Systeme nur unterschiedliche Zeilenenden von Formularzeilen (LF) verwenden.

Um dies zu beheben, können Sie die folgenden Anweisungen ausführen

git config --global core.autocrlf=true

Beim Auschecken wird diese Anweisung Zeilenende sicherzustellen , in Übereinstimmung mit Microsoft Windows - Betriebssystem konfiguriert sind (LF -> CR + LF)

Unix-basiert (Linux / OSX)

In ähnlicher Weise können Probleme auftreten, wenn der Benutzer unter Unix-basierten Betriebssystemen versucht, Dateien zu lesen, die unter Microsoft Windows-Betriebssystem bearbeitet wurden. Um zu verhindern, dass unerwartete Probleme auftreten

git config --global core.autocrlf=input

Beim Festschreiben werden dadurch die Zeilenenden von CR + LF -> + LF geändert

Konfiguration nur für einen Befehl

Sie können -c <name>=<value> , um eine Konfiguration nur für einen Befehl hinzuzufügen.

Festschreiben als anderer Benutzer, ohne Ihre Einstellungen in .gitconfig ändern zu müssen:

git -c user.email = mail@example commit -m "some message"

Hinweis: In diesem Beispiel müssen Sie nicht nur user.name und user.email genau user.name user.email git wird die fehlenden Informationen aus den vorherigen Commits ergänzen.

Richten Sie einen Proxy ein

Wenn Sie hinter einem Proxy stehen, müssen Sie git davon erzählen:

git config --global http.proxy http://my.proxy.com:portnumber

Wenn Sie nicht mehr hinter einem Proxy stehen:

git config --global --unset http.proxy

Auto korrekte Tippfehler

git config --global help.autocorrect 17

Dies ermöglicht eine Autokorrektur in git und vergibt Ihnen kleinere Fehler (z. B. git stats statt git status ). Der Parameter, den Sie für help.autocorrect , help.autocorrect fest, wie lange das System in Zehntelsekunden warten soll, bevor der autokorrekte Befehl automatisch help.autocorrect wird. Im obigen Befehl 17 bedeutet, dass git 1,7 Sekunden warten muss, bevor der autokorrekte Befehl angewendet wird.

Größere Fehler werden jedoch als fehlende Befehle betrachtet. git testingit also etwas wie git testingit testingit is not a git command.

Auflisten und Bearbeiten der aktuellen Konfiguration

Mit der Git-Konfiguration können Sie die Funktionsweise von Git anpassen. Es wird häufig verwendet, um Ihren Namen und Ihre E-Mail-Adresse oder Ihren bevorzugten Editor festzulegen oder festzulegen, wie die Zusammenführung erfolgen soll.

Um die aktuelle Konfiguration anzuzeigen.

$ git config --list
...
core.editor=vim
credential.helper=osxkeychain
...

So bearbeiten Sie die Konfiguration:

$ git config <key> <value>    
$ git config core.ignorecase true

Wenn Sie beabsichtigen, dass die Änderung für alle Ihre Repositorys wahr ist, verwenden Sie --global

$ git config --global user.name "Your Name"
$ git config --global user.email "Your Email"
$ git config --global core.editor vi

Sie können erneut auflisten, um Ihre Änderungen zu sehen.

Mehrere Benutzernamen und E-Mail-Adresse

Seit Git 2.13 können mehrere Benutzernamen und E-Mail-Adressen mithilfe eines Ordnerfilters konfiguriert werden.

Beispiel für Windows:

.gitconfig

Edit: git config --global -e

Hinzufügen:

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

[includeIf "gitdir:D:/opensource/"]
  path = .gitconfig-opensource.config
Anmerkungen
  • Die Reihenfolge ist abhängig, der letzte, der mit "gewinnt" übereinstimmt.
  • das / am Ende wird benötigt - zB "gitdir:D:/work" funktioniert nicht.
  • das gitdir: ist erforderlich.

.gitconfig-work.config

Datei im selben Verzeichnis wie .gitconfig

[user]
  name = Money
  email = [email protected]

.gitconfig-opensource.config

Datei im selben Verzeichnis wie .gitconfig

[user]
  name = Nice
  email = [email protected]

Beispiel für Linux

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

Der Inhalt der Datei und die Hinweise unter Abschnitt Windows.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow