Découvrir Git

Gérer les conflits

Testez gratuitement nos 1246 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
En cas de collaboration, il peut arriver qu'un autre développeur ait modifié la même ligne que vous. Git n'a pas la capacité d'interpréter le sens du code et donc, va générer un conflit qui va devoir être réglé par une intervention manuelle.
05:36

Transcription

Comme indiqué dans la précédente vidéo, lorsque deux commit modifient la même ligne, on obtient ce qu'on appelle un conflit. Voyons comment un conflit peut arriver. Donc ici, on va taper git branch pour voir où on est situé. On voit bien qu'on est sur la branche master, et que la branche style existe toujours, Là, on va créer une nouvelle branche, donc je fais un git checkout -b. Ici, il s'agit d'un raccourci, on va créer une branche, et directement faire un checkout dessus. On va appeler notre branche « conflit ». On nous indique que la branche a bien été créée, on fait juste une vérification avec un git branch. On l'a bien créée, on a basculé sur la branche conflit. On va aller modifier notre site internet. Donc formation... On va changer le titre. Et on va remplacer « Un service de qualité ». par « Un service d'excellente qualité » On enregistre. Ici, on va faire un git commit -a pour add, et -m pour le message. Notre commit est bien passé. On voit « conflict » ici, mais il s'agit du nom de la branche. On va juste voir notre modification, donc on a « Un service de qualité », j'actualise avec F5... Et notre modification est là, « Un service d'excellente qualité ». Donc on fait un git checkout master. Voilà, on a bien basculé dessus. On vérifie. On a bien « Un service de qualité », donc la modification de la branch conflict n'est pas sur la branche master. Donc de notre côté, on va aller faire une modification de l'index, et on va aller modifier exactement la même ligne. On va l'appeler, par exemple, « Un service de qualité excellente ». Voilà, on refait la même chose, on enregistre. On va commiter nos modifications. Voilà, les modifications sont bien prises en compte. Un autre git status... La copie de travail est propre. Maintenant,on va faire notre merge. C'est lors du merge qu'on va rencontrer un problème. On tape git merge. On est bien sur la branche master, on va merger conflict avec master, git merge conflict. Donc on nous indique que lors de la fusion automatique du fichier index.html, on a rencontré un conflit de fusion. On nous dit quoi faire : « La fusion automatique a échoué : réglez les conflits et validez le résultat ». Donc pour résoudre les conflits, on va ouvrir le fichier en question, ici, c'est notre index.html. Ce qu'on voit apparaître de particulier, c'est une série de petites flèches avec le HEAD, des signes égal, et une série de flèches dans l'autre sens. Donc si vous êtes sur un grand fichier, vous faites rechercher, Ctrl+F, et vous tapez cette série de petites flèches, donc vous tombez forcément sur votre conflit. Ici, il est assez visible puisqu'il est au début du fichier. Ce qu'on va remarquer, c'est qu'entre ici et les balises « égal », on a la version HEAD, donc la version sur la branche master. sur laquelle pointe HEAD. En dessous, donc entre les signes égal et conflict, « conflict » est le nom de la branche, pour rappel, on a la version de la branche conflict. À partir de là, on a trois solutions. On peut aller supprimer les modifications de conflict, là, on garde « Un service de qualité excellente ». Là, je fais Ctrl+Z pour retourner. On a l'autre solution, on peut garder « Un service d'excellente qualité ». Ou on a une troisième possibilité, trouver une solution alternative. Voilà, on enlève toutes les balises de conflit. Donc notre cas précis, le conflit est assez simple à résoudre car il s'agit de texte. La plupart du temps, il va s'agir de code. Pour résoudre un conflit qui concerne du code, il va bien falloir comprendre le projet, il va bien falloir comprendre la ligne de code, ce que chaque personne a fait de son côté, pourquoi il y a eu le conflit, donc il faut une bonne connaissance du projet pour résoudre un conflit. Ici, on a résolu le conflit dans le fichier, maintenant il va falloir indiquer à Git que ce conflit a été résolu. On retourne sur notre éditeur. Donc pour dire à Git que le conflit est terminé, on va ajouter le fichier dans l'index, donc git add index.html. Si on fait un git status, on voit que notre fichier a bien été ajouté dans l'index. Git ne nous retourne plus aucun problème. Ensuite, on tape simplement git commit. On nous renvoie vers l'éditeur de texte avec un message prédéfini, on peut laisser ce message prédéfini qui est assez clair. :q pour quitter vim. Le commit a bien fonctionné ici. On fait un git status. Voilà, rien à valider, la copie de travail est propre. Ensuite on pourrait vérifier ce qui s'est passé. Donc on va faire git log --graph --online Donc on retrouve ici notre merge de style. Notre « Modification titre », notre « Modification wording », et ensuite la résolution du conflit où on est de nouveau assemblé sur la branche master. Vous savez maintenant comment résoudre un conflit dans Git.

Découvrir Git

Procédez à l’installation et à la configuration de Git. Voyez comment créer un dépôt, manipuler des fichiers source, naviguer dans l'historique, effectuer des recherches, etc.

2h05 (37 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Date de parution :28 sept. 2016

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !