Zurück zur Übersicht

Git Cheat Sheet

Die wichtigsten Befehle auf einen Blick

Git

Setup & Init

git init Repo erstellen
git clone <url> Repo klonen
git config --global user.name "Name" Name setzen
git config --global user.email "mail" E-Mail setzen

Grundlagen

git status Status anzeigen
git add <datei> Datei stagen
git add . Alles stagen
git commit -m "Nachricht" Commit erstellen
git commit -am "Nachricht" Stage + Commit
git diff Änderungen sehen
git diff --staged Gestagete Diff

Branches

git branch Branches auflisten
git branch <name> Branch erstellen
git checkout <branch> Branch wechseln
git checkout -b <name> Erstellen + wechseln
git switch <branch> Branch wechseln NEU
git switch -c <name> Erstellen + wechseln
git branch -d <branch> Branch löschen

Merge & Rebase

git merge <branch> Branch mergen
git merge --no-ff <branch> Merge-Commit erzwingen
git rebase <branch> Rebase
git rebase -i HEAD~3 Interaktiver Rebase
git cherry-pick <hash> Commit übernehmen

Remote / GitHub

git remote -v Remotes anzeigen
git remote add origin <url> Remote hinzufügen
git push origin <branch> Pushen
git push -u origin main Push + Tracking setzen
git pull Fetch + Merge
git fetch Nur herunterladen
git push --force-with-lease Sicheres Force-Push

Rückgängig machen

git restore <datei> Änderungen verwerfen
git restore --staged <datei> Unstagen
git revert <hash> Commit rückgängig
git reset --soft HEAD~1 Commit → Stage
git reset --mixed HEAD~1 Commit → Working Dir
git reset --hard HEAD~1 ⚠️ Alles löschen

Stash

git stash Änderungen weglegen
git stash push -m "name" Mit Namen
git stash list Stashes anzeigen
git stash pop Letzten wiederherstellen
git stash apply stash@{1} Bestimmten anwenden
git stash drop Stash löschen

Log & Verlauf

git log Alle Commits
git log --oneline --graph Kompakt + Graph
git log --oneline -10 Letzte 10
git show <hash> Commit anzeigen
git blame <datei> Wer hat was geändert
git reflog HEAD-Verlauf (Rettung!)