Michael Blaess

Git Cheat-Sheet

Git 2.49 · alle Befehle mit git davor · Stand 18.09.2026

Neu: switch und restore

switch mainzum Branch wechseln
switch -c neuBranch anlegen und wechseln create
switch -zurück zum vorigen Branch wie cd -
switch --detach a1b2c3Commit ansehen, ohne Branch
restore dateiÄnderung verwerfen
restore --staged dateiaus dem Index nehmen
restore -s HEAD~1 dateiStand vor dem letzten Commit source

Früher erledigte checkout beides. switch fasst nur Branches an, restore nur Dateien.

Alt gegen neu

checkout mainheute switch main
checkout -b neuheute switch -c neu
checkout -- dateiheute restore datei
reset HEAD dateiheute restore --staged datei

Alltag

status -sbStand kurz, mit Branch short, branch
add -pÄnderungen stückweise vormerken patch
commit -m "Text"Commit anlegen message
commit --amend --no-editletzten Commit ergänzen
diffwas noch nicht vorgemerkt ist
diff --stagedwas in den Commit geht
log --oneline --graph --allVerlauf als Baum

Branches

branchlokale Branches
branch --show-currentaktueller Branch
branch -m neuer-nameBranch umbenennen move
branch -d altgemergten Branch löschen, -D erzwingt delete
push -u origin HEADBranch erstmals pushen upstream

Abgleich mit dem Server

fetch --pruneholen, gelöschte Remote-Branches entfernen
pull --rebaseholen, eigene Commits oben drauf
push --force-with-leaseüberschreiben, nur wenn niemand dazwischen gepusht hat
remote -vServer-Adressen anzeigen verbose

Nie --force ohne -with-lease: das überschreibt auch fremde Commits.

Zwischenablage

stash push -m "Text"Änderungen beiseitelegen
stash listbeiseitegelegtes anzeigen
stash popzurückholen und entfernen

Rückgängig

reset --soft HEAD~1letzten Commit auflösen, Änderungen bleiben
revert a1b2c3Gegen-Commit, sicher bei gepushten Commits
reflogwo HEAD überall war, rettet fast alles
clean -nzeigt, welche neuen Dateien -f löscht -n = nur zeigen

Commits aufräumen

commit --fixup a1b2c3Korrektur für einen älteren Commit
rebase -i --autosquash mainKorrekturen einsortieren interaktiv
rebase --abortRebase abbrechen

Mehrere Arbeitskopien

worktree add ../fix fixBranch in eigenem Ordner
worktree listalle Arbeitskopien
worktree remove ../fixOrdner wieder entfernen

Praktisch für einen schnellen Fix, ohne die laufende Arbeit zu stashen.

Einstellungen, einmalig

push.autoSetupRemote truepush ohne -u beim ersten Mal
pull.rebase truepull rebased immer
fetch.prune truefetch räumt immer auf
rerere.enabled truegelöste Konflikte wiederverwenden reuse recorded resolution
init.defaultBranch mainneue Repos starten mit main

Setzen mit config --global schlüssel wert.