Passer au contenu principal

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 Merge.png

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.

Fusionner avec Rebase.png

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.

Squashing des Commits.png