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:
- Comment désactiver Google SafeSearch sur iPhone, iPad et Mac
- Comment utiliser des extensions pour être plus productif sur vscode
- Lister Windows 10 dans le Grub de Kali Linux avec os-prober