Git : `merge` ou `rebase`, lequel utiliser ?
asked 4 months ago225 viewsfr
Dans mon équipe, certains font git merge main dans leur branche, d'autres git rebase main. Quelle est la différence et laquelle adopter ?
AI diagnosis
AI-generated. Not an answer — the community below confirms or corrects it. Always verify before relying on it.
1 Answer
Les deux intègrent les changements de main dans ta branche, mais l'historique obtenu diffère :
- merge crée un commit de fusion. L'historique est fidèle (on voit que les branches ont divergé), mais il est plus touffu. - rebase rejoue tes commits par-dessus main. L'historique est linéaire et lisible, mais tes commits sont réécrits (nouveaux SHA).
La règle d'or : ne rebase jamais une branche partagée que d'autres ont déjà récupérée. Rebaser ta branche de fonctionnalité personnelle est sans danger.
Un flux courant et propre :
git fetch origin
git rebase origin/main # mettre ta branche à jour
# résoudre les conflits, puis git rebase --continue
git push --force-with-lease # jamais --force tout court
Puis fusion de la PR avec squash ou merge, selon la convention de l'équipe.
--force-with-lease refuse d'écraser le distant si quelqu'un d'autre y a poussé entre-temps.
Sign in to tell others whether this worked.
Sign in and verify your email to post an answer.