Von Gast (nicht überprüft) , 29 April 2026

Warum interaktiver Rebase

Der interaktive Rebase schreibt eine Sequenz von Commits in eine sauberere, aussagekraftigere Historie um, bevor sie veroffentlicht wird. Es ist das chirurgische Instrument von Git: Sie konnen Commits umordnen, bearbeiten, mit squash zusammenfassen, fixen, loschen, umbenennen oder aufteilen — alles in einer einzigen gefuhrten Sitzung.

Die Todo-Liste

Das Ausfuhren von git rebase -i offnet einen Editor mit einer Todo-Liste. Jede Zeile hat ein Verb und einen Commit. Zeilen umordnen, um Commits umzuordnen.

git rebase -i HEAD~5

Verben: pick, reword, edit, squash, fixup, drop, exec, break, sowie label/reset/merge fur den Rebase-Merge-Graphen (ab Git 2.18).

Einen Commit aufteilen

git reset HEAD^
git add -p
git commit -m "First logical change"
git add -p
git commit -m "Second logical change"
git rebase --continue

Autosquash-Workflow

git commit --fixup=<sha>
git rebase -i --autosquash HEAD~10

Setzen Sie rebase.autoSquash = true und rebase.autoStash = true in der Konfiguration.

Exec zur Verifikation

git rebase -i --exec "cargo test" main

Rebase merges mit --rebase-merges

git rebase -i --rebase-merges main

Haufige Fehler

Rebase von veroffentlichten Commits zwingt Mitarbeiter zu Historie-Operationen. Reservieren Sie ihn fur Branches, die Sie allein besitzen. git reflog rettet fast immer verlorene Arbeit.

Wiederherstellung

git rebase --abort
git reflog
git reset --hard HEAD@{5}