Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Résolution des Conflits de Fusion | Travailler Avec les Branches dans Git
Notions Fondamentales de Git

bookRésolution des Conflits de Fusion

Résolution des conflits

Dans le chapitre précédent, un conflit de fusion s'est produit, il est donc temps de le résoudre. Commencez par ouvrir le fichier branch_learning.txt dans l’éditeur Vim en utilisant la commande suivante :

Ouverture de Vim

Si Vim n'est pas installé, il est possible d'utiliser un autre éditeur de texte tel que nano ou atom en remplaçant vim par le nom de votre éditeur dans la commande ci-dessus.
Cependant, il est recommandé d'utiliser Vim pour faciliter l’alignement avec les étapes présentées ici.

Voici le fichier ouvert dans l’éditeur Vim :

Fichier avec des conflits ouvert dans Vim

Vous pouvez maintenant voir les marqueurs de conflit indiquant les sections en conflit.
Ces marqueurs utilisent des flèches et des symboles spéciaux pour mettre en évidence les différences entre les branches :

  • <<<<<<< HEAD ; marque le début des modifications provenant de la branche courante (master) ;
  • ======= ; sépare les modifications de la branche courante (HEAD) et celles de la branche fusionnée ;
  • >>>>>>> feature/new-feature ; marque la fin des modifications de la branche fusionnée.

Pour résoudre le conflit, choisissez l'une des options suivantes :

  • Conserver les modifications de la branche courante (master) ;
  • Conserver les modifications de la branche fusionnée (feature/new-feature) ;
  • Modifier manuellement le contenu.

Modifier manuellement le fichier en combinant les modifications des deux branches selon les étapes suivantes :

1. Entrer en mode édition

Commencer par passer en mode insertion dans Vim en appuyant sur i. Cela permet de modifier le texte.

2. Modifier la section en conflit

Ensuite, combiner les lignes des deux branches de manière séquentielle. Le contenu final du fichier doit être le suivant :

Résolution du conflit

3. Quitter le mode édition, enregistrer et sortir

Appuyer sur la touche Échap pour quitter le mode insertion. Puis saisir :wq et appuyer sur Entrée pour enregistrer les modifications et quitter Vim :

Quitter Vim

Validation du fichier

Les conflits étant résolus, ajouter le fichier branch_learning.txt à la zone de préparation et vérifier l’état :

Ajout du fichier résolu

Le fichier a été modifié et ajouté avec succès à la zone de préparation. Procédez maintenant à son commit :

Validation du fichier

Une fois de plus, l’éditeur de texte par défaut s’ouvre (Vim dans mon cas) avec le message de commit par défaut concernant la fusion :

Message de commit par défaut

Passer en mode insertion dans Vim en appuyant sur i, puis modifier le message en ajoutant la ligne Kept lines from both branches pour décrire la résolution des conflits.

Voici le message de commit complet :

Pour quitter le mode insertion, enregistrer les modifications et fermer Vim, appuyer sur la touche Échap, puis taper :wq et appuyer sur Entrée.

Enregistrement du message modifié et sortie de Vim

Le commit a réussi et le conflit de fusion est désormais résolu.

Examinons maintenant notre historique des commits sous forme de graphe (option --graph) avec une ligne par commit (option --oneline) :

Graphique de l’historique des commits

Ici, l’on observe le dernier commit de fusion ainsi que la structure caractéristique d’une fusion à trois voies.

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 6

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Awesome!

Completion rate improved to 3.57

bookRésolution des Conflits de Fusion

Glissez pour afficher le menu

Résolution des conflits

Dans le chapitre précédent, un conflit de fusion s'est produit, il est donc temps de le résoudre. Commencez par ouvrir le fichier branch_learning.txt dans l’éditeur Vim en utilisant la commande suivante :

Ouverture de Vim

Si Vim n'est pas installé, il est possible d'utiliser un autre éditeur de texte tel que nano ou atom en remplaçant vim par le nom de votre éditeur dans la commande ci-dessus.
Cependant, il est recommandé d'utiliser Vim pour faciliter l’alignement avec les étapes présentées ici.

Voici le fichier ouvert dans l’éditeur Vim :

Fichier avec des conflits ouvert dans Vim

Vous pouvez maintenant voir les marqueurs de conflit indiquant les sections en conflit.
Ces marqueurs utilisent des flèches et des symboles spéciaux pour mettre en évidence les différences entre les branches :

  • <<<<<<< HEAD ; marque le début des modifications provenant de la branche courante (master) ;
  • ======= ; sépare les modifications de la branche courante (HEAD) et celles de la branche fusionnée ;
  • >>>>>>> feature/new-feature ; marque la fin des modifications de la branche fusionnée.

Pour résoudre le conflit, choisissez l'une des options suivantes :

  • Conserver les modifications de la branche courante (master) ;
  • Conserver les modifications de la branche fusionnée (feature/new-feature) ;
  • Modifier manuellement le contenu.

Modifier manuellement le fichier en combinant les modifications des deux branches selon les étapes suivantes :

1. Entrer en mode édition

Commencer par passer en mode insertion dans Vim en appuyant sur i. Cela permet de modifier le texte.

2. Modifier la section en conflit

Ensuite, combiner les lignes des deux branches de manière séquentielle. Le contenu final du fichier doit être le suivant :

Résolution du conflit

3. Quitter le mode édition, enregistrer et sortir

Appuyer sur la touche Échap pour quitter le mode insertion. Puis saisir :wq et appuyer sur Entrée pour enregistrer les modifications et quitter Vim :

Quitter Vim

Validation du fichier

Les conflits étant résolus, ajouter le fichier branch_learning.txt à la zone de préparation et vérifier l’état :

Ajout du fichier résolu

Le fichier a été modifié et ajouté avec succès à la zone de préparation. Procédez maintenant à son commit :

Validation du fichier

Une fois de plus, l’éditeur de texte par défaut s’ouvre (Vim dans mon cas) avec le message de commit par défaut concernant la fusion :

Message de commit par défaut

Passer en mode insertion dans Vim en appuyant sur i, puis modifier le message en ajoutant la ligne Kept lines from both branches pour décrire la résolution des conflits.

Voici le message de commit complet :

Pour quitter le mode insertion, enregistrer les modifications et fermer Vim, appuyer sur la touche Échap, puis taper :wq et appuyer sur Entrée.

Enregistrement du message modifié et sortie de Vim

Le commit a réussi et le conflit de fusion est désormais résolu.

Examinons maintenant notre historique des commits sous forme de graphe (option --graph) avec une ligne par commit (option --oneline) :

Graphique de l’historique des commits

Ici, l’on observe le dernier commit de fusion ainsi que la structure caractéristique d’une fusion à trois voies.

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 6
some-alt