Par Anonyme (non vérifié) , 29 avril 2026

Pourquoi squasher

Une branche feature accumule souvent des commits "WIP", "fix typo" et "address review" qui enterrent l'intention. Le squash les condense en un petit nombre de commits logiquement significatifs avant le merge.

Squash au merge

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

Squash par rebase interactif

git rebase -i main

Workflow autosquash

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

Réordonner pour la clarté

Pendant le rebase interactif, échangez des lignes pour réordonner.

Diviser des commits trop gros

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

Erreurs courantes

Squasher à travers un merge écrase deux branches en un méga-commit. Squasher des commits déjà poussés force les collaborateurs à rebaser.

Préserver les auteurs

git commit -m "Ajouter feature X

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