Menu
Coddy logo textTech

Conflits de fusion

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

Si les deux branches ont modifié les mêmes lignes du même fichier, Git ne peut pas deviner quelle version conserver. Il interrompt la fusion et vous demande de décider.

Le fichier en conflit reçoit des marqueurs spéciaux affichant les deux versions :

<<<<<<< HEAD
the version on main
=======
the version on feature
>>>>>>> feature

Votre travail consiste à modifier le fichier à la main : choisissez une version, combinez-les ou écrivez quelque chose de nouveau. Ensuite, supprimez tous les marqueurs de conflit (les lignes <<<, ===, >>>).

Une fois que le fichier semble correct, indexez-le et finalisez la fusion avec un autre commit :

git add notes.txt
git commit -m "Resolve merge conflict in notes"

Si vous changez d'avis en cours de route, vous pouvez tout annuler et revenir à l'état précédant la fusion :

git merge --abort
challenge icon

Défi

Moyen

Le dossier contient notes.txt avec la ligne hello.

Initialisez le dépôt et commitez le fichier initial. Créez une branche alt, modifiez notes.txt pour qu'il contienne hi from alt, et commitez.

Revenez sur main, modifiez notes.txt pour qu'il contienne hi from main, et commitez.

Essayez de fusionner alt dans main. La fusion entrera en conflit. Annulez-la avec git merge --abort, puis affichez le contenu de notes.txt avec cat pour confirmer que le fichier est revenu à la version de main.

Aide-mémoire

Lorsque les deux branches modifient les mêmes lignes, Git interrompt la fusion et ajoute des marqueurs de conflit au fichier :

<<<<<<< HEAD
the version on main
=======
the version on feature
>>>>>>> feature

Modifiez le fichier pour obtenir le résultat souhaité, supprimez tous les marqueurs, puis indexez et validez les modifications :

git add notes.txt
git commit -m "Resolve merge conflict in notes"

Pour annuler la fusion et restaurer l'état précédant la fusion :

git merge --abort

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