Rebase vs Merge
DevOps 🟡 MidDefinition
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.