Skip to main content
  1. Learn
  2. Software Development
  3. Guides
  4. Git tutorial
  5. Comment utiliser Git
  6. Comment utiliser les branches dans Git
  7. Résoudre un conflit de fusion
GuidesSoftware DevelopmentBacklog
Git

Project and code management together.

Résoudre un conflit de fusion

Fusionnons ensuite les branches issue2 et issue3 que nous avons créées à l'étape précédente dans la branche principale.

Basculez tout d'abord vers la branche main et fusionnez issue2 à l’aide d’une fusion à avance rapide.

$ git checkout main
Switched to branch 'main'
$ git merge issue2
Updating b2b23c4..8f7aa27
Fast-forward
myfile.txt |    2 ++
  1 files changed, 2 insertions(+), 0 deletions(-)

À ce stade, l'historique se présente comme suit:

Current history

Essayez ensuite de fusionner issue3 dans main.

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

Dans ce cas, Git a identifié un conflit parce que le fichier myfile.txt possède un contenu différent sur la même ligne de chaque branche. La fusion automatique de la branche issue3 avec la branche main est par conséquent impossible.

La fichier myfile.txt se présente désormais comme suit:

Anyone can learn Git with this tutorial and Backlog
add: Register a change in an index
<<<<<<< HEAD
commit: Save the status of an index
=======
pull: Obtain the content of a remote repository
>>>>>>> issue3

Comme vous pouvez le constater, des marqueurs ont été ajoutés au fichier myfile.txt par Git pour signaler le conflit. Nous devons résoudre manuellement le conflit, comme indiqué ci-dessous.

Anyone can learn Git with this tutorial and Backlog
add: Register a change in an index
commit: Save the status of an index
pull: Obtain the content of a remote repository

Une fois le conflit résolu, validez la modification.

$ git add myfile.txt
$ git commit -m "merge issue3 branch"
# On branch main
nothing to commit (working directory clean)

Au final, l'historique se présente comme suit:

Current history

Comme vous pouvez le constater, un nouveau commit de fusion a été créé suite à la résolution du conflit. De plus, la branche principale pointe désormais vers le commit de fusion le plus récent. Il s'agit d'une fusion sans avance rapide.

Subscribe to our newsletter

Learn with Nulab to bring your best ideas to life