Git-Befehle: Spickzettel zum Kopieren

Git-Befehle für den Alltag, nach Aufgaben gruppiert: Commit, Branch, Merge, Rebase, Stash, Rückgängig machen. Durchsuchbar und mit einem Klick kopierbar.

 

Einrichten

BefehlWirkungKopieren
git config --global user.name "Max Muster"Namen für Commits festlegen
git config --global user.email "max@example.com"E-Mail-Adresse für Commits festlegen
git config --global init.defaultBranch mainNeue Repositorys mit dem Branch main beginnen
git config --global core.autocrlf trueZeilenenden unter Windows automatisch umwandeln (Linux/macOS: input)
git config --list --show-originAlle Einstellungen mit Herkunftsdatei anzeigen

Repository anlegen

BefehlWirkungKopieren
git initNeues Repository im aktuellen Ordner anlegen
git clone https://github.com/nutzer/projekt.gitRepository mit vollständigem Verlauf herunterladen
git clone --depth 1 https://github.com/nutzer/projekt.gitNur den letzten Stand ohne Verlauf klonen

Änderungen speichern

BefehlWirkungKopieren
git statusGeänderte, vorgemerkte und neue Dateien anzeigen
git add datei.txtDatei für den nächsten Commit vormerken (Staging)
git add -pÄnderungen stückweise auswählen
git add .Alle Änderungen im aktuellen Ordner vormerken
git diffNoch nicht vorgemerkte Änderungen anzeigen
git diff --stagedVorgemerkte Änderungen anzeigen
git commit -m "Kurze Beschreibung"Vorgemerkte Änderungen als Commit speichern
git commit --amend --no-editLetzten Commit um vorgemerkte Änderungen ergänzen (nur vor dem Push)
git restore datei.txtÄnderungen an einer Datei verwerfen
git restore --staged datei.txtDatei aus dem Staging nehmen, Änderung bleibt
git rm --cached datei.txtDatei nicht mehr verfolgen, aber behalten
git mv alt.txt neu.txtDatei umbenennen oder verschieben

Branches und Zusammenführen

BefehlWirkungKopieren
git branchLokale Branches anzeigen
git branch -aAuch entfernte Branches anzeigen
git switch -c feature/loginNeuen Branch anlegen und wechseln
git switch mainZu einem Branch wechseln
git branch -d feature/loginZusammengeführten Branch löschen (-D erzwingt)
git branch -m neuer-nameAktuellen Branch umbenennen
git merge feature/loginBranch in den aktuellen Branch zusammenführen
git merge --no-ff feature/loginZusammenführen immer mit Merge-Commit
git rebase mainEigene Commits auf den neuesten Stand von main setzen
git rebase -i HEAD~3Letzte drei Commits umordnen, zusammenfassen oder umbenennen
git rebase --continueRebase nach dem Lösen eines Konflikts fortsetzen
git rebase --abortRebase abbrechen und alten Zustand herstellen
git cherry-pick a1b2c3dEinen einzelnen Commit in den aktuellen Branch übernehmen

Mit dem Server arbeiten

BefehlWirkungKopieren
git remote -vHinterlegte Remotes anzeigen
git remote add origin https://github.com/nutzer/projekt.gitRemote hinzufügen
git fetch --pruneNeues vom Server holen, gelöschte Branches entfernen
git pullHolen und zusammenführen
git pull --rebaseHolen und eigene Commits darauf setzen
git pushCommits hochladen
git push -u origin feature/loginNeuen Branch hochladen und verknüpfen
git push --force-with-leaseÜberschreiben nach Rebase, aber nur wenn niemand sonst gepusht hat
git push origin --delete feature/loginBranch auf dem Server löschen

Verlauf ansehen

BefehlWirkungKopieren
git log --oneline --graph --allKompakter Verlauf aller Branches als Graph
git log -p -- datei.txtVerlauf einer Datei mit Änderungen
git show a1b2c3dEinen Commit mit Änderungen anzeigen
git blame datei.txtWer welche Zeile zuletzt geändert hat
git log -S "suchtext"Commits finden, die einen Text hinzugefügt oder entfernt haben
git reflogAlle Bewegungen von HEAD, auch nach reset oder rebase
git shortlog -snAnzahl Commits je Person

Rückgängig machen

BefehlWirkungKopieren
git revert a1b2c3dNeuer Commit, der einen alten aufhebt (sicher für geteilte Branches)
git reset --soft HEAD~1Letzten Commit aufheben, Änderungen bleiben vorgemerkt
git reset HEAD~1Letzten Commit aufheben, Änderungen bleiben im Arbeitsverzeichnis
git reset --hard HEAD~1Letzten Commit samt Änderungen verwerfen (Vorsicht)
git reset --hard origin/mainLokalen Branch auf den Serverstand setzen (Vorsicht)
git restore --source=a1b2c3d datei.txtDatei aus einem älteren Commit wiederherstellen
git clean -nZeigen, welche nicht verfolgten Dateien gelöscht würden
git clean -fdNicht verfolgte Dateien und Ordner löschen (Vorsicht)

Zwischenspeichern (Stash)

BefehlWirkungKopieren
git stashÄnderungen beiseitelegen
git stash push -m "Zwischenstand"Mit Beschreibung beiseitelegen
git stash -uAuch neue, nicht verfolgte Dateien beiseitelegen
git stash listGespeicherte Stashes anzeigen
git stash popLetzten Stash anwenden und entfernen
git stash apply stash@{1}Bestimmten Stash anwenden, ohne ihn zu entfernen
git stash drop stash@{0}Stash löschen

Tags und Versionen

BefehlWirkungKopieren
git tagTags anzeigen
git tag -a v1.0.0 -m "Version 1.0.0"Annotiertes Tag anlegen
git push origin v1.0.0Tag hochladen
git push --tagsAlle Tags hochladen
git tag -d v1.0.0Tag lokal löschen

Fehlersuche und Sonstiges

BefehlWirkungKopieren
git bisect startBinäre Suche nach dem Commit starten, der einen Fehler eingeführt hat
git bisect badAktuellen Stand als fehlerhaft markieren
git bisect good v1.0.0Bekannten guten Stand markieren
git bisect resetSuche beenden
git worktree add ../hotfix hotfixZweiten Branch parallel in einem eigenen Ordner auschecken
git submodule update --init --recursiveSubmodule herunterladen

Alles läuft in Ihrem Browser. Eingaben verlassen Ihr Gerät nicht.

Git im Alltag

Dieser Git Spickzettel sammelt 75 Git-Befehle für den Alltag, gruppiert nach Aufgaben: vom Einrichten über git commit und Branches bis zum Rückgängigmachen. Jeder Befehl lässt sich mit einem Klick kopieren; Platzhalter wie Dateinamen, Branch-Namen oder Commit-Kennungen (a1b2c3d) ersetzen Sie durch Ihre eigenen.

Zwei Befehle verdienen Vorsicht. git rebase schreibt die Commit-Geschichte neu: Das ist in Ordnung für eigene, noch nicht geteilte Branches, auf gemeinsamen Branches führt es zu Konflikten bei anderen. Nach einem Rebase eines bereits hochgeladenen Branches brauchen Sie git push --force-with-lease, das im Gegensatz zu --force abbricht, wenn jemand anderes inzwischen gepusht hat. git reset --hard und git clean -fd verwerfen Arbeit endgültig; verlorene Commits lassen sich oft noch über git reflog retten, nicht verfolgte Dateien nicht.

Die Befehle git switch und git restore gibt es seit Git 2.23. Sie teilen die Aufgaben des älteren git checkout auf und sind leichter zu merken; checkout funktioniert weiterhin. Diese Git Befehle Liste ersetzt nicht die Dokumentation: Mit git help befehl öffnen Sie die vollständige Hilfe. Als Git Cheat Sheet zum Ausdrucken eignet sich die Seite ebenfalls.

Anleitung: Git-Befehle in 3 Schritten

  1. Im Feld „Befehl oder Aufgabe suchen“ einen Befehl wie git rebase oder eine Aufgabe wie „rückgängig“ eintippen.
  2. In den gefilterten Gruppen, etwa „Rückgängig machen“ oder „Zwischenspeichern (Stash)“, die Spalte „Wirkung“ lesen.
  3. Den passenden Git-Befehl mit „Kopieren“ übernehmen und Platzhalter wie Branch-Namen oder Commit-Kennungen ersetzen.

Typische Anwendungsfälle

  • Neues Repository einrichten: Name, E-Mail und Standard-Branch festlegen und das Projekt mit git init oder git clone starten.
  • Feature-Branch abschließen: Branch anlegen, mit git rebase auf den neuesten Stand bringen, zusammenführen und auf dem Server löschen.
  • Fehler beheben: Einen versehentlichen Commit mit git reset oder git revert aufheben, je nachdem, ob er schon geteilt wurde.
  • Releases markieren: Annotierte Tags anlegen und hochladen.
Fragen

Häufige Fragen

Was ist der Unterschied zwischen merge und rebase?

Merge führt zwei Branches mit einem Merge-Commit zusammen und lässt die Geschichte unverändert. Rebase setzt Ihre Commits neu auf den Zielbranch und erzeugt eine gerade Linie, verändert dabei aber die Commit-Kennungen.

Wie mache ich den letzten Commit rückgängig?

Noch nicht hochgeladen: git reset --soft HEAD~1, die Änderungen bleiben erhalten. Schon geteilt: git revert mit der Commit-Kennung, das erzeugt einen neuen Commit, der die Änderung aufhebt.

Was ist der Unterschied zwischen git fetch und git pull?

fetch holt nur die neuen Daten vom Server und ändert Ihre Arbeitskopie nicht. pull führt fetch aus und anschließend merge oder rebase.

Wie ändere ich die Nachricht des letzten git commit?

Mit git commit --amend öffnet sich der Editor mit der alten Nachricht. Wurde der Commit schon gepusht, müssen Sie danach mit --force-with-lease pushen.

Kann ich gelöschte Commits wiederherstellen?

Meist ja: git reflog zeigt frühere Stände von HEAD. Mit git switch -c rettung <kennung> legen Sie einen Branch darauf an.

Wie lösche ich einen Git-Branch lokal und auf dem Server?

Lokal mit git branch -d name, bei nicht zusammengeführten Branches mit -D. Auf dem Server mit git push origin --delete name.

Wie lege ich Änderungen kurz beiseite, um den Branch zu wechseln?

Mit git stash speichern Sie die unfertigen Änderungen, wechseln den Branch und holen sie später mit git stash pop zurück. Neue, noch nicht verfolgte Dateien nimmt git stash -u mit.

Weitere Werkzeuge

Das könnte auch helfen

Alle 358 Werkzeuge