~/cheat-sheets / git
Git Befehle
Git-Befehle für Alltag und Notfall – durchsuchbar und mit einem Klick kopierbar. Mit Warnhinweisen bei Befehlen, die Arbeit unwiederbringlich verwerfen.
Als PDF herunterladen (A4, frei teilbar) ↓
37 Befehle
Alltag: Status & Commit
Kurzstatus mit Branch und Tracking-Info
git status -sbUngestagte Änderungen anzeigen
git diffGestagte Änderungen anzeigen
git diff --stagedÄnderungen stückweise zum Commit vormerken
git add -pCommit mit Nachricht erstellen
git commit -m "Fix login redirect"Letzten Commit um gestagte Änderungen ergänzen
⚠ Vorsicht: verändert oder löscht Datengit commit --amend --no-editNeuen Branch anlegen und wechseln
git switch -c feature/login
Log & Suche
Letzte 20 Commits kompakt als Graph
git log --oneline --graph --decorate -20Commits einer Person in den letzten 2 Wochen
git log --since='2 weeks ago' --author='Daniele'Commits finden, die einen Text hinzufügten oder entfernten
git log -S 'password' --onelineWer hat Zeilen 10–30 zuletzt geändert?
git blame -L 10,30 file.py
Stash
Änderungen mit Beschreibung zwischenlagern
git stash push -m "wip login"Auch unversionierte Dateien zwischenlagern
git stash push -uStash anwenden und behalten
git stash apply stash@{0}Neuesten Stash anwenden und entfernen
git stash popEinen Stash verwerfen
⚠ Vorsicht: verändert oder löscht Datengit stash drop stash@{0}
Rebase & Verlauf aufräumen
Aktuellen Branch auf main aufsetzen
git rebase mainLetzte 4 Commits interaktiv ordnen, squashen, umformulieren
⚠ Vorsicht: verändert oder löscht Datengit rebase -i HEAD~4Rebase abbrechen, Zustand wie vorher
git rebase --abortBranch mit Merge-Commit zusammenführen
git merge --no-ff feature/login
Rückgängig machen
Ungestagte Änderungen einer Datei verwerfen
⚠ Vorsicht: verändert oder löscht Datengit restore file.txtDatei aus dem Staging nehmen, Änderungen bleiben
git restore --staged file.txtCommit durch einen Gegen-Commit rückgängig machen (sicher für geteilte Branches)
git revert abc1234Letzten Commit lösen, Änderungen bleiben gestagt
git reset --soft HEAD~1Letzten Commit samt Änderungen verwerfen
⚠ Vorsicht: verändert oder löscht Datengit reset --hard HEAD~1Unversionierte Dateien und Ordner endgültig löschen
⚠ Vorsicht: verändert oder löscht Datengit clean -fd
Reflog & Rettung
Verlauf aller HEAD-Bewegungen anzeigen
git reflogAuf einen früheren Reflog-Stand zurücksetzen
⚠ Vorsicht: verändert oder löscht Datengit reset --hard HEAD@{2}Verlorenen Commit per Hash als Branch retten
git switch -c rescue abc1234Verwaiste Objekte aufspüren
git fsck --lost-foundLetzten Reset, Merge oder Rebase rückgängig machen
⚠ Vorsicht: verändert oder löscht Datengit reset --hard ORIG_HEAD
Remotes & Bisect
Alle Remotes holen, gelöschte Branches aufräumen
git fetch --all --pruneHolen und lokale Commits oben aufsetzen
git pull --rebaseForce-Push, der fremde neue Commits nicht überschreibt
⚠ Vorsicht: verändert oder löscht Datengit push --force-with-leaseBinärsuche nach dem fehlerhaften Commit starten
git bisect start && git bisect bad && git bisect good v1.2Bisect automatisch mit einem Testskript durchlaufen
git bisect run ./test.shBisect beenden, zurück zum Ausgangs-Branch
git bisect reset
Kein Treffer.
Neue Artikel per E-Mail
Eine E-Mail pro neuem Artikel. Kein Tracking, jederzeit abbestellbar. Als Dankeschön nach der Bestätigung: meine Checkliste „Server-Betrieb & Patching“ (PDF).