Git einrichten: git config, Name, E-Mail und SSH-Keys
Die Grundeinrichtung von Git besteht aus den Befehlen git config --global user.name und git config --global user.email, mit denen Ihre Commits signiert werden, plus der Wahl von Editor und Standard-Branch. Für die Anmeldung bei GitHub ohne Passwort erstellen Sie mit ssh-keygen -t ed25519 einen SSH-Key, hinterlegen den Public Key in Ihren Kontoeinstellungen und prüfen die Verbindung mit ssh -T git@github.com.
Minimale Git-Konfiguration in einer Minute
Führen Sie direkt nach der Installation vier Befehle aus. Ohne die ersten beiden verweigert Git den Commit, die übrigen ersparen Ihnen typische Ärgernisse.
git config --global user.name "Anna Schmidt"
git config --global user.email "anna@example.com"
git config --global init.defaultBranch main
git config --global core.editor "code --wait"
Prüfen Sie das Ergebnis:
$ git config --global --list
user.name=Anna Schmidt
user.email=anna@example.com
init.defaultbranch=main
core.editor=code --wait
Im Folgenden sehen wir uns an, was jede Einstellung genau bewirkt, wo Git sie speichert und wie Sie die Anmeldung bei GitHub per SSH einrichten.
So funktioniert git config: drei Konfigurationsebenen
Der Befehl git config liest und schreibt Parameter in einer von drei Dateien. Die engere Ebene überschreibt die weitere.
| Ebene | Flag | Datei | Gilt für |
|---|---|---|---|
| System | --system | /etc/gitconfig (unter Windows im Installationsordner von Git) | Alle Benutzer des Rechners |
| Global | --global | ~/.gitconfig oder ~/.config/git/config | Alle Ihre Repositories |
| Lokal | --local (Standard) | .git/config im Repository | Nur dieses Repository |
Fast alles Persönliche wird global eingerichtet, Ausnahmen lokal. Die geschäftliche E-Mail für Firmenprojekte etwa setzen Sie im jeweiligen Repository ohne das Flag --global.
Nützliche git-config-Befehle
git config user.email # aktuellen Wert anzeigen
git config --list --show-origin # alle Einstellungen und ihre Herkunftsdatei
git config --global --edit # ~/.gitconfig im Editor öffnen
git config --global --unset core.editor # Parameter löschen
Das Flag --show-origin ist Ihr bester Helfer bei der Fehlersuche: Es zeigt, woher die „falsche“ E-Mail kommt, indem es die Datei nennt, aus der der Wert stammt.
Name und E-Mail: keine reine Formsache
Jeder Commit speichert dauerhaft Name und E-Mail des Autors. Das ist weder Login noch Passwort – Git prüft diese Angaben überhaupt nicht. Über die E-Mail ordnen GitHub und GitLab Commits aber Ihrem Konto zu: Stimmt die Adresse mit keiner bestätigten E-Mail Ihres Profils überein, zählen die Commits nicht in der Aktivitätsgrafik und erscheinen ohne Avatar.
Name oder E-Mail nachträglich zu ändern, ist ohne Umschreiben der Historie nicht möglich. Prüfen Sie die Einstellungen daher vor dem ersten Commit.
Die echte E-Mail verbergen
Ist das Repository öffentlich, sieht jeder Ihre E-Mail, der die Historie anschaut. GitHub bietet eine Dienstadresse der Form ID+username@users.noreply.github.com an (in den Emails-Einstellungen). Tragen Sie diese in Git ein:
git config --global user.email "12345678+anna@users.noreply.github.com"
Unterschiedliche E-Mails für Arbeit und private Projekte
Damit Sie nicht jedes Arbeits-Repository von Hand konfigurieren müssen, nutzen Sie bedingte Includes. In ~/.gitconfig:
[includeIf "gitdir:~/work/"]
path = ~/.gitconfig-work
Und in ~/.gitconfig-work:
[user]
email = anna@company.com
Nun verwenden alle Repositories unter ~/work/ automatisch die geschäftliche E-Mail. Der Schrägstrich am Ende des Pfads ist Pflicht.
Weitere nützliche Git-Einstellungen
Editor
Git öffnet einen Editor für Commit-Messages, interaktives Rebase und Merges. Standardmäßig ist das oft Vim. Alternativen:
git config --global core.editor "code --wait" # VS Code
git config --global core.editor "nano" # Nano
git config --global core.editor "subl -n -w" # Sublime Text
Standard-Branch
init.defaultBranch main legt den Namen des ersten Branches in neuen Repositories fest (verfügbar ab Git 2.28). Ohne diese Einstellung erstellt Git master und zeigt einen Hinweis zur Umbenennung an.
Zeilenenden
git config --global core.autocrlf true # Windows
git config --global core.autocrlf input # macOS und Linux
So werden im Repository immer LF-Zeilenenden gespeichert, und im Team tauchen keine „Änderungen“ in sämtlichen Zeilen einer Datei auf.
Verhalten von git pull
Ohne festgelegte Strategie verlangt ein aktuelles Git bei auseinanderlaufenden Branches, dass Sie sie explizit wählen. Entscheiden Sie sich für eine:
git config --global pull.rebase false # Merge, Standardverhalten
git config --global pull.rebase true # Rebase, lineare Historie
git config --global pull.ff only # nur Fast-Forward, sonst Fehler
Umlaute in Dateinamen und Farbe
git config --global core.quotepath false
git config --global color.ui auto
Aliase
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.lg "log --oneline --graph --decorate --all"
git config --global alias.last "log -1 HEAD"
Jetzt zeichnet git lg den Branch-Graphen, und git last zeigt den letzten Commit.
So sieht ~/.gitconfig nach der Einrichtung aus
[user]
name = Anna Schmidt
email = anna@example.com
[init]
defaultBranch = main
[core]
editor = code --wait
autocrlf = input
quotepath = false
[pull]
rebase = false
[alias]
st = status
lg = log --oneline --graph --decorate --all
Das ist eine gewöhnliche Textdatei, die Sie von Hand bearbeiten und zwischen Rechnern mitnehmen können.
Git login: So melden Sie sich bei GitHub an
Einen Befehl git login gibt es in Git nicht – eine häufige Falle für Einsteiger. Git speichert kein „Konto“: Die Authentifizierung erfolgt beim Zugriff auf den Server (clone, push, fetch) über eines von zwei Protokollen.
| HTTPS | SSH | |
|---|---|---|
| Adresse | https://github.com/user/repo.git | git@github.com:user/repo.git |
| Womit die Anmeldung bestätigt wird | Access Token oder Anmeldung im Browser (Credential Manager) | SSH-Schlüsselpaar |
| Kontopasswort | Wird seit 2021 nicht mehr akzeptiert | Nicht nötig |
| Wann praktischer | Windows mit Git Credential Manager, Firmen-Proxys | macOS, Linux, Server, CI |
Anmeldung per HTTPS
In Git for Windows und in macOS-Builds mit Git Credential Manager öffnet sich beim ersten git push ein Browserfenster zur Anmeldung bei GitHub, und die Zugangsdaten werden im Speicher des Systems abgelegt. Alternativ nutzen Sie das offizielle Werkzeug GitHub CLI: Der Befehl gh auth login führt durch die Autorisierung und konfiguriert Git. Wenn Sie alles manuell erledigen, erstellen Sie in den GitHub-Einstellungen (Developer settings) ein Personal Access Token und geben es anstelle des Passworts ein.
SSH für Git: Schritt-für-Schritt-Einrichtung
Ein SSH-Key ist ein Dateipaar: Der Private Key bleibt bei Ihnen, den Public Key geben Sie GitHub. Der Server prüft, dass Sie den privaten Teil besitzen, und fragt nie wieder nach einem Passwort.
Schritt 1. Prüfen, ob bereits ein Key existiert
ls -la ~/.ssh
Liegen dort bereits id_ed25519 und id_ed25519.pub, springen Sie zu Schritt 3.
Schritt 2. Key erzeugen
ssh-keygen -t ed25519 -C "anna@example.com"
Drücken Sie Enter, um den Key am Standardpfad zu speichern, und vergeben Sie eine Passphrase – sie schützt den Key, falls Ihr Laptop gestohlen wird. Ed25519 ist der moderne, empfohlene Algorithmus. Unterstützt ein älteres System ihn nicht, verwenden Sie ssh-keygen -t rsa -b 4096 -C "anna@example.com".
Schritt 3. Key zum ssh-agent hinzufügen
Der Agent hält den entschlüsselten Key im Speicher, damit Sie die Passphrase nicht bei jedem Push eingeben müssen.
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
Unter macOS ergänzen Sie in ~/.ssh/config folgende Zeilen, damit die Passphrase im Schlüsselbund gespeichert wird:
Host github.com
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_ed25519
und führen ssh-add --apple-use-keychain ~/.ssh/id_ed25519 aus.
Schritt 4. Public Key bei GitHub hinterlegen
cat ~/.ssh/id_ed25519.pub
Kopieren Sie die gesamte Zeile, beginnend mit ssh-ed25519. Öffnen Sie auf GitHub Settings → SSH and GPG keys → New SSH key, fügen Sie den Key ein und geben Sie ihm einen aussagekräftigen Namen, etwa „Laptop 2026“. Versenden oder veröffentlichen Sie niemals die Datei ohne .pub – das ist der Private Key.
Schritt 5. Verbindung testen
$ ssh -T git@github.com
Hi anna! You've successfully authenticated, but GitHub does not provide shell access.
Bei der ersten Verbindung fragt SSH, ob Sie dem Host vertrauen – vergleichen Sie den Fingerprint mit den in der GitHub-Dokumentation veröffentlichten und antworten Sie mit yes.
Schritt 6. Repository auf SSH umstellen
Wurde das Repository per HTTPS geklont, ändern Sie die Remote-Adresse:
git remote -v
git remote set-url origin git@github.com:anna/my-project.git
git push
Mehrere GitHub-Konten auf einem Rechner
Ein SSH-Key lässt sich nur mit einem einzigen GitHub-Konto verknüpfen. Für ein geschäftliches und ein privates Konto erstellen Sie zwei Keys und Host-Aliase in ~/.ssh/config:
Host github-work
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_work
IdentitiesOnly yes
Klonen Sie Arbeits-Repositories über den Alias: git clone git@github-work:company/app.git. Zusammen mit includeIf für die E-Mail erhalten Sie so vollständig getrennte Arbeits- und Privatumgebungen.
Häufige Fehler bei der Einrichtung
„Please tell me who you are“
user.name und user.email sind nicht gesetzt. Führen Sie die Befehle vom Anfang des Artikels aus und wiederholen Sie den Commit.
„Permission denied (publickey)“
GitHub hat keinen passenden Key gefunden. Prüfen Sie, ob der Key im Agent geladen ist (ssh-add -l) und der öffentliche Teil im Konto hinterlegt ist; Details liefert ssh -vT git@github.com.
„Support for password authentication was removed“
Sie haben bei der Arbeit über HTTPS Ihr Kontopasswort eingegeben. Verwenden Sie ein Token, die Anmeldung über den Credential Manager oder steigen Sie auf SSH um.
Commits auf GitHub ohne Avatar
Die E-Mail aus git config user.email ist nicht in Ihrem GitHub-Profil hinterlegt. Fügen Sie sie unter Settings → Emails hinzu – ältere Commits werden automatisch zugeordnet.
Port 22 im Netzwerk gesperrt
GitHub akzeptiert SSH auch auf Port 443. Tragen Sie in ~/.ssh/config Host github.com, Hostname ssh.github.com, Port 443 ein.
Reihenfolge der Einrichtung auf einem neuen Rechner
- Installieren Sie Git und prüfen Sie
git --version. - Setzen Sie
user.name,user.email,init.defaultBranchund den Editor. - Übernehmen oder erstellen Sie
~/.gitconfigmit Aliasen und Pull-Strategie. - Erzeugen Sie einen neuen SSH-Key (kopieren Sie einen alten Private Key nicht ohne Not zwischen Rechnern) und hinterlegen Sie ihn bei GitHub.
- Testen Sie den Zugang mit
ssh -T git@github.comund klonen Sie Ihr Arbeits-Repository über die SSH-Adresse.
Ein eigener Key pro Gerät hat noch einen Vorteil: Geht ein Laptop verloren, löschen Sie auf GitHub nur diesen einen Key, ohne den Zugriff von den übrigen Rechnern anzutasten.
Fazit
Git einzurichten läuft auf drei Schritte hinaus: Name und E-Mail per git config --global setzen, Editor, Standard-Branch und Pull-Strategie wählen und dann die Anmeldung bei GitHub einrichten – am einfachsten und zuverlässigsten per SSH-Key. Denken Sie daran, dass es keinen Befehl git login gibt: Die Authentifizierung erfolgt beim Zugriff auf den Server. Die Konfiguration und der SSH-Zugang werden im Git-Kurs ausführlich in der Praxis behandelt.
Häufige Fragen
Wo speichert Git unter Windows seine Einstellungen?
Die globalen in der Datei C:\Users\Name\.gitconfig, die lokalen in .git\config des jeweiligen Repositorys. Den genauen Ort zeigt git config --list --show-origin.
Wie setze ich die Git-Einstellungen zurück?
Löschen oder benennen Sie die Datei ~/.gitconfig um – Git kehrt dann zu den Standardwerten zurück. Einen einzelnen Parameter entfernen Sie mit git config --global --unset name.
Kann ich einen SSH-Key für GitHub und GitLab verwenden?
Ja, ein Public Key lässt sich bei verschiedenen Diensten hinterlegen. Die einzige Einschränkung: Auf GitHub ist ein Key an genau ein Konto gebunden.
Wie signiere ich Commits, damit GitHub sie als Verified anzeigt?
Richten Sie die Signatur mit einem GPG- oder SSH-Key ein: zum Beispiel git config --global gpg.format ssh, user.signingkey mit dem Pfad zum Public Key und commit.gpgsign true; danach hinterlegen Sie den Key auf GitHub als Signing Key.
Muss ich Git nach einem Update neu einrichten?
Nein, ein Update lässt ~/.gitconfig und die Keys in ~/.ssh unangetastet – alle Einstellungen bleiben erhalten.
Dieses Thema wird im Kurs „Git vom Anfänger zum versierten Entwickler“ ausführlich mit Praxis behandelt.
- Installation und Einrichtung: Git für den ersten Start vorbereiten
- GitHub und Remote-Repositories: Ihr Code in der Cloud