Fusion de branches
Vous pouvez intégrer plusieurs branches au moyen de la commande git merge.
Examinez la situation ci-dessous. Il existe deux branches: une branche bugfix
avec quelques commits provenant de la branche main
.
Dans ce cas, la fusion de la branche bugfix
dans la branche main
ne pose pas de problème particulier. En effet, la branche main
n'a pas été modifiée depuis la création de la branche bugfix
. Git effectue la fusion en déplaçant la position de la branche main
vers la position la plus récente de la branche bugfix
. Cette fusion est ce que l'on appelle une fusion fast-forward
.
Dans l'exemple ci-dessous, cependant, la branche main
a été mise à jour plusieurs fois depuis la création de la branche bugfix
. Les modifications apportées dans les branches bugfix
et main
doivent être combinées lorsqu'une fusion est exécutée sur ces deux branches.
Pour ce type de fusion, un merge commit
est créé et la position de la branche main
est mise à jour vers le commit de fusion venant d'être créé.
Même lorsqu'une fusion à avance rapide est possible, vous pouvez toujours la forcer explicitement à fusionner sans fusion rapide.
Comme indiqué ci-dessus, une fusion sans avance rapide laisse la branche bugfix
inchangée. Vous obtenez ainsi une représentation plus claire de la branche de fonctionnalités bugfix
. Vous pouvez facilement identifier le début et la fin de la branche de fonctionnalités et suivre les modifications qui lui sont apportées.