Résolution des Conflits de Fusion
Résolution des conflits
Dans le chapitre précédent, nous avons rencontré un conflit de fusion, il est donc temps de le résoudre. Ouvrons d'abord notre fichier branch_learning.txt
avec l'éditeur Vim en utilisant la commande suivante :
Si Vim n'est pas installé, il est possible d'utiliser d'autres éditeurs de texte, tels que nano ou atom (remplacez vim
par le nom de votre éditeur de texte dans la commande ci-dessus). Cependant, il est fortement recommandé d'utiliser Vim afin de faciliter le suivi du cours.
Voici notre fichier ouvert dans l'éditeur Vim :
Nous pouvons maintenant voir les marqueurs indiquant les sections en conflit. Ces marqueurs sont représentés par des flèches et des symboles spéciaux pour mettre en évidence les modifications conflictuelles provenant de différentes branches. Les marqueurs de conflit sont les suivants :
<<<<<<< HEAD
: Indique le début des modifications provenant de la branche courante (master
dans notre cas) ;=======
: 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 les conflits, il est possible de choisir la modification de la branche courante (master
), de sélectionner la modification de la branche fusionnée (feature/new-feature
) ou de modifier manuellement les changements.
Modifions manuellement les changements en combinant les modifications des deux branches en suivant les étapes ci-dessous :
1. Passer en mode édition
Tout d'abord, il faut passer en mode insertion (édition) dans Vim en appuyant sur i
. Cela permet de modifier le texte.
2. Modifier la section en conflit
Ensuite, il convient de combiner les lignes des deux branches l'une après l'autre, de sorte que le contenu final du fichier soit le suivant :
3. Quitter le mode édition, enregistrer et quitter :
Pour quitter le mode insertion, il faut appuyer sur la touche Échap. Ensuite, pour enregistrer les modifications et quitter, saisir :wq
puis appuyer sur la touche Entrée :
Validation du fichier
Puisque nous avons résolu les conflits, ajoutons maintenant le fichier branch_learning.txt
à la zone de préparation et vérifions l'état :
Le fichier a été modifié et a bien été ajouté à la zone de préparation. Nous pouvons maintenant procéder à sa validation :
Encore une fois, l'éditeur de texte par défaut s'ouvre (Vim dans mon cas) avec le message de validation par défaut concernant la fusion :
Passons en mode insertion dans Vim en appuyant sur i
et modifions ce message en ajoutant la ligne suivante : Kept lines from both branches
pour indiquer la manière dont nous avons résolu les conflits. Voici le message de commit complet :
Pour quitter le mode insertion, enregistrer les modifications et quitter Vim, il faut appuyer sur la touche Échap, puis taper :wq
et appuyer sur la touche Entrée.
Le commit est effectué avec succès 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, nous pouvons voir notre dernier commit de fusion ainsi que la forme 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
Can you explain what a three-way merge is?
What should I do if I encounter another merge conflict?
How can I view more details about a specific commit in the log?
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, nous avons rencontré un conflit de fusion, il est donc temps de le résoudre. Ouvrons d'abord notre fichier branch_learning.txt
avec l'éditeur Vim en utilisant la commande suivante :
Si Vim n'est pas installé, il est possible d'utiliser d'autres éditeurs de texte, tels que nano ou atom (remplacez vim
par le nom de votre éditeur de texte dans la commande ci-dessus). Cependant, il est fortement recommandé d'utiliser Vim afin de faciliter le suivi du cours.
Voici notre fichier ouvert dans l'éditeur Vim :
Nous pouvons maintenant voir les marqueurs indiquant les sections en conflit. Ces marqueurs sont représentés par des flèches et des symboles spéciaux pour mettre en évidence les modifications conflictuelles provenant de différentes branches. Les marqueurs de conflit sont les suivants :
<<<<<<< HEAD
: Indique le début des modifications provenant de la branche courante (master
dans notre cas) ;=======
: 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 les conflits, il est possible de choisir la modification de la branche courante (master
), de sélectionner la modification de la branche fusionnée (feature/new-feature
) ou de modifier manuellement les changements.
Modifions manuellement les changements en combinant les modifications des deux branches en suivant les étapes ci-dessous :
1. Passer en mode édition
Tout d'abord, il faut passer en mode insertion (édition) dans Vim en appuyant sur i
. Cela permet de modifier le texte.
2. Modifier la section en conflit
Ensuite, il convient de combiner les lignes des deux branches l'une après l'autre, de sorte que le contenu final du fichier soit le suivant :
3. Quitter le mode édition, enregistrer et quitter :
Pour quitter le mode insertion, il faut appuyer sur la touche Échap. Ensuite, pour enregistrer les modifications et quitter, saisir :wq
puis appuyer sur la touche Entrée :
Validation du fichier
Puisque nous avons résolu les conflits, ajoutons maintenant le fichier branch_learning.txt
à la zone de préparation et vérifions l'état :
Le fichier a été modifié et a bien été ajouté à la zone de préparation. Nous pouvons maintenant procéder à sa validation :
Encore une fois, l'éditeur de texte par défaut s'ouvre (Vim dans mon cas) avec le message de validation par défaut concernant la fusion :
Passons en mode insertion dans Vim en appuyant sur i
et modifions ce message en ajoutant la ligne suivante : Kept lines from both branches
pour indiquer la manière dont nous avons résolu les conflits. Voici le message de commit complet :
Pour quitter le mode insertion, enregistrer les modifications et quitter Vim, il faut appuyer sur la touche Échap, puis taper :wq
et appuyer sur la touche Entrée.
Le commit est effectué avec succès 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, nous pouvons voir notre dernier commit de fusion ainsi que la forme caractéristique d’une fusion à trois voies.
Merci pour vos commentaires !