Ré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 :
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 :
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 :
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 :
Validation du fichier
Les conflits étant résolus, ajouter le fichier branch_learning.txt à la zone de préparation et vérifier l’état :
Le fichier a été modifié et ajouté avec succès à la zone de préparation. Procédez maintenant à son commit :
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 :
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.
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) :
Ici, l’on observe le dernier commit de fusion ainsi que la structure caractéristique d’une fusion à trois voies.
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
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
Ré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 :
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 :
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 :
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 :
Validation du fichier
Les conflits étant résolus, ajouter le fichier branch_learning.txt à la zone de préparation et vérifier l’état :
Le fichier a été modifié et ajouté avec succès à la zone de préparation. Procédez maintenant à son commit :
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 :
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.
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) :
Ici, l’on observe le dernier commit de fusion ainsi que la structure caractéristique d’une fusion à trois voies.
Merci pour vos commentaires !