Conflits de fusion

Git intermédiaire

George Boorman

Curriculum Manager, DataCamp

Conflits

  • Conflit

    • Incapacité à résoudre les différences du contenu d'un ou plusieurs fichiers entre des branches
  • Modifier le même fichier dans deux branches

  • Tenter une fusion

  • Git ne sait pas quelle version garder

  • Conflit !

Git intermédiaire

Versions en conflit de README.md

documentation branch

# Contents and usage

This repo contains source code 
for the DataCamp website.

It also contains source code for an 
AI-Assistant (recommendation system) 
that takes prompts from learners and 
returns suggested content
that they might be interested in. 

It is for internal use only, 
external access is prohibited.

main branch

# Contents and usage

This repo contains source code 
for the DataCamp website.

It is for internal use only, 
external access is prohibited.
Git intermédiaire

Fusion

  • À partir de la branche main
git merge documentation
Auto-merging README.md
CONFLICT (add/add): Merge conflict in README.md
Automatic merge failed; fix conflicts and then commit the result.
Git intermédiaire

Ouverture du fichier

nano README.md

Fichier README affichant les sections de conflit dans nano

Git intermédiaire

Syntaxe de conflit Git

fichier de conflit annoté montrant le contenu dans la branche main versus la branche documentation

Git intermédiaire

Résoudre le conflit

éditeur web nano supprimant la syntaxe Git <<<<<<< documentation, =======, et >>>>>>> HEAD

  • Enregistrer : Ctrl + O (et non Ctrl + 0), puis Enter
  • Quitter : Ctrl + X
Git intermédiaire

Fusionner les branches

  • Fusionner maintenant que le conflit est résolu
git add README.md
git commit -m "Resolving README.md conflict"
git merge documentation
Already up to date.
  • Mieux vaut prévenir que guérir !
Git intermédiaire

Passons à la pratique !

Git intermédiaire

Preparing Video For Download...