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
unduser.email
sind die Schlüssel für die Konfigurationsvariablen.user
ist der Abschnitt der Konfigurationsdatei.name
undemail
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 setzencore.autocrlf
zufalse
, nur für diesenfetch
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
UmgebungsvariableGIT_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
oderEDITOR
. (SieheVISUAL
vsEDITOR
.)$ 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 beibash
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.