Le message d’erreur impossible de fusionner main avec stage survient généralement lorsque vous souhaitez fusionner votre branche stage avec votre branche main ; cependant certaines erreurs empêchent comme des modifications différentes sur la même ligne d’un fichier dans des branches différentes ou d’autres raison empêchent la fusion. Comment venir à bout de cette erreur ? Nous allons à cet effet dédier l’essentiel de cet article à la résolution de ce problème.

Comment résoudre les conflits de fusion dont la cause est une modification concurrente, d’une même ligne sur GitHub ?


Seuls les conflits de fusion provoqués par des modifications concurrentes d’une même ligne dans un fichier peuvent être résolues sur GitHub ; voici la procédure à suivre :

  • Cliquez sur Pull request ou demande de tirage, sous le nom du repository
  • Sélectionnez la demande de titrage qui a des conflits sur la page qui s’affiche
  • A côté ou en bas de votre demande de titrage, cliquez sur « résoudre les conflits »

Choisissez alors si vous souhaitez garder les modifications de votre branche ou celle de l’autre branche ou faire de nouvelles modifications qui impacteront les deux branches. Supprimez à présent les marqueurs de conflits `<<<<<<<“=======`, `>>>>>>>’ et faites les changements que vous voulez dans la fusion finale.

  • Si vous avez plusieurs conflits de fusions dans votre fichier, défilez jusqu’au prochain marqueur de conflits puis répétez les étapes précédentes.
  • Après avoir résolu tous les conflits, cliquez sur « marquer comme résolu »
  • Si par contre plusieurs de vos fichiers sont en conflits, allez au fichier suivant et répétez le processus
  • Une fois les conflits résolus, cliquez sur « Commiter la fusion » : le contenu de votre branche sera entièrement fusionné au contenu de la branche main
  • Une fenêtre pour vérifier la branche dans laquelle vous faites le commit, voire de créer une nouvelle ; enfin, cliquez sur le bouton « Fusionner la demande de tirage » et le tour est joué

Dans le cas où il s’agit de conflits très complexes, ils ne pourront être résolus qu’en local depuis l’invite de commande.

Comment venir à bout des conflits de fusion complexes sur GitHub ?


Dans le cas où les conflits de fusions sont très complexes, on fait appel au Git Bash :

  • Ouvrez-le Git Bash
  • Accédez au repository local affecté par les conflits
  • Tapez la commande « git status » : pour générer la liste des fichiers affectés par les conflits
  • Ouvrir le fichier concernant les conflits dans votre éditeur de texte
  • Choisissez de conserver ou de supprimer le fichier
  • Pour ajouter le fichier supprimé tapez “git add nom_du_fichier.extension
  • Pour supprimer, tapez “git rm nom_du_fichier“. Extension
  • Validez vos modifications en tapant la commande git commit -m “message votre message.”

Vous pouvez à présent fusionner vos modifications avec un pull request ou les envoyer sur GitHub pour une éventuelle demande de tirage.


voir aussi:

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

treize − 8 =