Rebase vs Merge

DevOps 🟡 Mid

Definition

Merge crée un commit de fusion préservant l'historique. Rebase rejoue les commits sur la branche cible pour un historique linéaire.

Analogie

Merge = coller deux routes avec un carrefour. Rebase = redessiner une route pour qu'elle continue tout droit.

Exemple de code

# Merge : préserve l'historique
git merge feature/login

# Rebase : historique linéaire
git checkout feature/login
git rebase main
git checkout main && git merge feature/login

Cas d'usage

Rebase pour un historique propre sur les feature branches, merge pour les branches partagées.

Anti-pattern

Rebase une branche publique partagée : réécrit l'historique des autres.
#devops#git#interview