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.