Von Gast (nicht überprüft) , 29 April 2026

Einführung

Vor Ihrem ersten Commit muss Git wissen, wer Sie sind. git config speichert Schlüssel-Wert-Paare in drei Bereichen: system (alle Nutzer), global (Ihr Benutzerkonto) und local (ein einzelnes Repository). Der globale Bereich befindet sich unter ~/.gitconfig auf Unix und %USERPROFILE%\.gitconfig unter Windows.

Identität

Setzen Sie Ihren Namen und Ihre E-Mail-Adresse; diese werden in jeden Commit eingebettet, den Sie erstellen:

git config --global user.name "Ada Lovelace"
git config --global user.email "[email protected]"

Editor und Pager

Git startet Ihren Editor für Commit-Nachrichten und interaktive Rebases. Wählen Sie einen, den Sie auch beenden können:

git config --global core.editor "nano"
# oder
git config --global core.editor "code --wait"
# oder
git config --global core.editor "vim"

Standard-Branch-Name

Seit Git 2.28 können Sie den Standard-Branch für neue Repositories festlegen:

git config --global init.defaultBranch main

Zeilenenden

Um CRLF/LF-Überraschungen in plattformübergreifenden Teams zu vermeiden:

# Linux, macOS
git config --global core.autocrlf input

# Windows
git config --global core.autocrlf true

Nützliche Aliase

git config --global alias.st status
git config --global alias.co checkout
git config --global alias.lg "log --oneline --graph --decorate --all"

Nun liefert git lg einen kompakten Graphen aller Branches.

Konfiguration einsehen

Listen Sie alle Konfigurationen mit ihren Quelldateien auf, hilfreich beim Debuggen unerwarteter Verhaltensweisen:

git config --list --show-origin
git config --get user.email

Pull-Verhalten

Seit Git 2.27 erfordert das Standardverhalten von pull eine ausdrückliche Wahl. Wählen Sie eine Option:

git config --global pull.rebase false   # Merge (Standard)
git config --global pull.rebase true    # Rebase
git config --global pull.ff only        # nur Fast-Forward

Bedingte Includes

Git unterstützt verzeichnisspezifische Konfiguration via includeIf. Dies ist die sauberste Methode, Arbeits- und private Identitäten getrennt zu halten, ohne in jedem Klon lokale Konfiguration setzen zu müssen:

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

# in ~/.gitconfig-work
[user]
  email = [email protected]
  signingkey = ssh-ed25519 AAAA...

Jedes unter ~/work/ geklonte Repository übernimmt automatisch die Arbeitsidentität. Kombinieren Sie dies mit onbranch:-Includes, um Einstellungen auf bestimmte Branches zu beschränken.

Pro-Repo-Überschreibungen

Lokale Konfiguration in .git/config überschreibt die globale Datei. Dies ist der richtige Ort für projektspezifische Identitäten, Hooks und Signaturschlüssel. Um zu prüfen, aus welchem Bereich eine Einstellung stammt:

git config --show-origin --get user.email
git config --show-scope --get-all credential.helper

Wenn ein Wert falsch erscheint, sagt --show-origin Ihnen genau, welche Datei ihn besitzt. Achtung: Jeder der Bereiche system, global, local oder sogar worktree kann einen anderen überschatten. git config --list --show-origin liefert das vollständige Bild auf einen Schlag.

Häufige Fehler

Das Setzen von user.email auf eine private Adresse beim Committen für die Arbeit, was diese auf öffentlichen Hosting-Plattformen offenlegt. Verwenden Sie den local-Bereich innerhalb von Arbeits-Repositories, um den globalen Wert zu überschreiben: git config user.email "[email protected]". Ein weiterer Klassiker: Das manuelle Editieren von ~/.gitconfig mit einem Syntaxfehler, der jeden Git-Befehl bricht. Verwenden Sie git config zum Schreiben von Werten und git config --list zur Überprüfung nach jeder Änderung.