⊗gtPmBrMC 39 of 65 menu

Conflit lors de la fusion de branches dans Git

Lors du processus de fusion de deux branches, des conflits peuvent survenir si nous avons modifié le même fichier dans chaque branche. Considérons la situation où, dans les deux branches master et test de la leçon précédente, nous avons modifié et fait un commit sur le même fichier file.txt. Ensuite, nous avons appliqué la commande de fusion :

git merge test

En conséquence, nous verrons une erreur :

Auto-merging file.txt CONFLICT (content): Merge conflict in file.txt Automatic merge failed; fix conflicts and then commit the result.

De plus, dans le fichier modifié, nous verrons les marqueurs de conflit :

<<<<<<< HEAD ici seront écrites les modifications de la branche master ======= ici seront écrites les modifications de la branche test >>>>>>> test

Dans la partie supérieure du message sont indiquées les modifications effectuées dans la branche principale actuelle, dans la partie inférieure - celles de la deuxième branche, que nous souhaitons fusionner avec la première. Pour résoudre le conflit, nous devons amener le contenu du fichier à un état commun, après avoir supprimé (manuellement dans l'éditeur !) toutes les désignations de conflit que Git y a laissées.

Après avoir résolu le conflit (c'est-à-dire après avoir laissé le code correct dans le fichier), nous indexerons notre fichier et ferons un commit dans la branche master dans laquelle nous nous trouvons actuellement :

git add file.txt git commit -m "fusion"

Ce n'est qu'après cela que nous pouvons basculer sur la deuxième branche test et effectuer toutes les mêmes opérations que dans la branche master, y compris remplacer le contenu du fichier file.txt par le même que dans la première branche :

git add file.txt git commit -m "fusion"

Maintenant, nous pouvons à nouveau basculer sur la branche principale et y fusionner la seconde :

git switch master git merge test

Créez intentionnellement un conflit lors de la fusion de branches. Puis résolvez-le.

Français
БеларускаяDeutschEnglishEspañolPortuguêsРусский
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser