Menu
Coddy logo textTech

Fusion à trois voies

Fait partie de la section Gestion de versions du Journey Terminal de Coddy — leçon 36 sur 58.

Si les deux branches ont évolué indépendamment, Git ne peut pas simplement effectuer une avance rapide (fast-forward). À la place, il effectue une fusion à trois points (three-way merge) : il examine l'ancêtre commun et les extrémités des deux branches, puis produit un nouveau commit qui les combine.

Ce nouveau commit est le commit de fusion. Il a deux parents, un de chaque branche :

git switch main
git merge feature -m "Merge feature"

L'option -m fournit directement le message de validation de fusion, ainsi Git n'ouvre pas d'éditeur.

La plupart du temps, Git peut combiner automatiquement les modifications des deux branches, tant qu'elles concernent des parties différentes des fichiers. Les conflits ne surviennent que lorsque les deux branches ont modifié les mêmes lignes, ce qui est le sujet de la prochaine leçon.

challenge icon

Défi

Moyen

Vous commencez dans un nouveau dossier avec top.txt (contenu : a) et bottom.txt (contenu : b).

Initialisez le dépôt, effectuez un premier commit, puis :

  1. Créez une branche feature et ajoutez la ligne added à top.txt ; commitez.
  2. Basculez sur main et ajoutez la ligne added à bottom.txt ; commitez.
  3. Fusionnez feature dans main avec le message Merge feature.

Affichez le nombre de commits accessibles depuis HEAD en utilisant git rev-list --count HEAD. Le nombre attendu est 4 (initial + feature + main + merge).

Aide-mémoire

Lorsque les deux branches ont divergé, Git effectue une fusion à trois points (three-way merge), créant un nouveau commit de fusion avec deux parents :

git switch main
git merge feature -m "Merge feature"

Le drapeau -m définit le message du commit de fusion sans ouvrir d'éditeur. Git fusionne automatiquement tant que les deux branches ont modifié des lignes différentes.

Essayez vous-même

Terminal
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Gestion de versions