Skip to main content
  1. Learn
  2. Software Development
  3. Guides
  4. Git tutorial
  5. Comment utiliser Git
  6. Comment utiliser Git sur la ligne de commande
  7. Résoudre un conflit
GuidesSoftware DevelopmentBacklog
Git

Project and code management together.

Résoudre un conflit

Pour procéder au transfert de la modification que nous venons d'apporter vers le référentiel distant, nous devons résoudre manuellement le conflit. Pour ce faire, nous devons exécuter une extraction afin d'acquérir l'ensemble de modifications le plus récent du référentiel distant.

Exécutez la commande git pull suivante:

$ git pull origin main
  Username:
  Password:
  remote: Counting objects: 5, done.
  remote: Compressing objects: 100% (2/2), done.
  remote: Total 3 (delta 0), reused 0 (delta 0)
  Unpacking objects: 100% (3/3), done.
  From https://example.backlog.com/git/BLGGIT/tutorial.git
  * branch            main     -> FETCH_HEAD
  Auto-merging sample.txt
  CONFLICT (content): Merge conflict in sample.txt
  Automatic merge failed; fix conflicts and then commit the result.

Un message s'affiche pour signaler l'existence d'un conflit de fusion.

Lorsque vous ouvrez le fichier sample.txt, les marqueurs ajoutés par Git pour signaler des conflits dans cette section du fichier s'affichent, comme indiqué ci-dessous.

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 the remote repository
>>>>>>> 17c860612953c0f9d88f313c8dfbf7d858e02e91

Nous allons résoudre le conflit en acceptant les deux modifications et en supprimant le marqueur.

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 the remote repository

Après la résolution du conflit et la modification du contenu du fichier, nous devons valider les modifications.

$ git add sample.txt
$ git commit -m "merge"
  [main d845b81] merge

La dernière modification apportée au référentiel distant a à présent été prise en compte.

Nous pouvons vérifier l'exactitude de l'historique du référentiel à l'aide de la commande git log. L'option --graph permet d'afficher l'historique des branches sous forme de graphique tandis que l'option --online tente de compacter le message de sortie.

$ git log --graph --oneline
  *   d845b81 merge
  |\
  | * 4c01823 append description of the pull command
  * | 95f15c9 append description of the commit command
  |/
  * 3da09c1 append description of the add command
  * ac56e47 first commit

Cela indique que les deux historiques ont réussi à fusionner avec le nouveau commit de fusion. Nous pouvons à présent transférer cette modification en toute sécurité vers le référentiel distant sans aucun conflit de fusion.

Subscribe to our newsletter

Learn with Nulab to bring your best ideas to life