Anleitung

Git einrichten: git config, Name, E-Mail und SSH-Keys

Aktualisiert: · Skillaria.Top

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.

EbeneFlagDateiGilt für
System--system/etc/gitconfig (unter Windows im Installationsordner von Git)Alle Benutzer des Rechners
Global--global~/.gitconfig oder ~/.config/git/configAlle Ihre Repositories
Lokal--local (Standard).git/config im RepositoryNur 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.

HTTPSSSH
Adressehttps://github.com/user/repo.gitgit@github.com:user/repo.git
Womit die Anmeldung bestätigt wirdAccess Token oder Anmeldung im Browser (Credential Manager)SSH-Schlüsselpaar
KontopasswortWird seit 2021 nicht mehr akzeptiertNicht nötig
Wann praktischerWindows mit Git Credential Manager, Firmen-ProxysmacOS, 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

  1. Installieren Sie Git und prüfen Sie git --version.
  2. Setzen Sie user.name, user.email, init.defaultBranch und den Editor.
  3. Übernehmen oder erstellen Sie ~/.gitconfig mit Aliasen und Pull-Strategie.
  4. Erzeugen Sie einen neuen SSH-Key (kopieren Sie einen alten Private Key nicht ohne Not zwischen Rechnern) und hinterlegen Sie ihn bei GitHub.
  5. Testen Sie den Zugang mit ssh -T git@github.com und 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.

Das Thema im Video lernen

Dieses Thema wird im Kurs „Git vom Anfänger zum versierten Entwickler“ ausführlich mit Praxis behandelt.

Zum Kurs