Kaiditech

Git Merge vs Git Rebase : comprendre les différences et bien les utiliser

Lorsque vous travaillez avec Git en collaboration ou sur plusieurs fonctionnalités à la fois, vous aurez tôt ou tard besoin de combiner différentes branches. Deux commandes sont alors incontournables : git merge et git rebase.

Dans cet article, nous allons expliquer leurs différences, leurs avantages, leurs inconvénients et quand les utiliser.


Git Merge

Qu'est-ce que git merge ?

git merge permet de combiner l’historique d’une branche dans une autre tout en conservant les commits existants. Cela crée un commit de fusion (merge commit).

Exemple

Cela fusionne la branche feature dans main.

Avantages

  • Historique fidèle à la réalité.
  • Facile à comprendre en équipe.
  • Aucun risque de réécriture d'historique.

Inconvénients

  • L'historique peut devenir brouillon.
  • Création de nombreux commits de merge.

Git Rebase

Qu'est-ce que git rebase ?

git rebase réécrit l’historique en intégrant vos commits sur une autre base. C’est comme dire : “Refais ces commits comme s’ils avaient été créés à partir d’une autre branche.”

Exemple

Cela “remonte” les commits de feature au-dessus de ceux de main.

Avantages

  • Historique linéaire plus propre.
  • Plus lisible avec git log.

Inconvénients

  • Réécrit l’historique → à éviter sur les branches partagées.
  • Peut générer des conflits plus complexes.

Cas pratique : merge

* c3 - Merge branch 'feature' into main
|\
| * c2 - Ajout d'une fonctionnalité
|/
* c1 - Commit initial

Cas pratique : rebase

* c2' - Ajout d'une fonctionnalité (rejoué)
* c1 - Commit initial

Puis :


Quand utiliser merge ?

  • Sur les branches principales (main, dev).
  • Pour préserver l’historique exact de l'équipe.
  • En fin de fonctionnalité, lors de la fusion finale.

Quand utiliser rebase ?

  • Avant un pull request pour nettoyer votre historique.
  • Pour synchroniser votre branche avec main sans créer de merge commit.
  • Sur vos propres branches uniquement.

Commandes utiles


Conclusion

merge et rebase sont deux outils puissants. Le premier conserve l’historique tel qu’il s’est réellement produit, tandis que le second permet de le rendre plus lisible. L’important est de connaître leurs différences pour les utiliser au bon moment.


Besoin d'un article pratique sur les conflits de rebase et comment les résoudre ? Restez connecté !