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
>>>>>>> featureVotre 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 --abortDéfi
MoyenLe 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
>>>>>>> featureModifiez 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 --abortEssayez vous-même
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
4Inspecter les modifications
Git DiffComparer les modifications indexéesGit ShowRécapitulatif - Travail d'enquête2Premiers pas
Initialiser un dépôtLe dossier .gitConfigurer votre identitéGit StatusRécapitulatif - Premier dépôt5Ignorer des fichiers
Pourquoi ignorer des fichiersModèles GitignoreVérifier les règles d'exclusionRécapitulatif - Dépôt propre3Suivi des modifications
La zone de transitGit AddGit CommitModifier un fichier suiviGit LogRécapitulatif - Premiers commits6Projet de site de recettes
Aperçu du projetInitialiser et ignorer