Git : Quand utiliser Merge, Rebase ou Squash ?
Fusionner avec Merge
git merge feature
Cette commande crée un commit de fusion dans la branche main
, combinant les historiques des deux branches. Cela préserve l’intégralité de l’historique des commits, mais peut rendre l’historique plus complexe à suivre.
Fusionner avec Rebase
git rebase main feature
Le rebase réapplique les commits de la branche feature
sur le sommet de la branche main
. Cela crée un historique linéaire qui semble partir directement de la dernière version de main
.
Ne jamais utiliser git rebase
sur des branches partagées pour éviter des incohérences d’historique entre les dépôts.
Squashing des Commits
Le squashing consiste à regrouper plusieurs commits en un seul. C’est particulièrement utile lors de la préparation d’une Pull Request (PR) pour simplifier la revue de code. En travaillant sur une PR, on accumule souvent de nombreux commits. Le squash permet de les combiner en un seul commit, rendant l’historique plus propre et la PR plus claire.