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

Warum squashen

Ein Feature-Branch sammelt oft "WIP", "fix typo" und "address review" Commits, die die Absicht begraben. Squash kondensiert diese in eine kleine Anzahl logisch sinnvoller Commits vor dem Merge.

Squash beim Merge

git checkout main
git merge --squash feature
git commit -m "Add feature X"

Squash mit interaktivem Rebase

git rebase -i main

Andern Sie pick in squash oder fixup.

Autosquash-Workflow

git commit --fixup=<sha>
git commit --squash=<sha>
git rebase -i --autosquash main

Fur Klarheit umordnen

Wahrend des interaktiven Rebase Zeilen tauschen, um Commits umzuordnen.

Zu grosse Commits aufteilen

git reset HEAD^
git add -p src/parser.c
git commit -m "Refactor parser"
git add -p src/runtime.c
git commit -m "Refactor runtime"
git rebase --continue

Haufige Fehler

Squash uber einen Merge hinweg kondensiert zwei Branches in einen Mega-Commit.

Autoren erhalten

git commit -m "Add feature X

Co-authored-by: Alice <[email protected]>
Co-authored-by: Bob <[email protected]>"