Skip to main content

Cette version de GitHub Enterprise Server n'est plus disponible depuis le 2024-09-25. Aucune publication de correctifs n’est effectuée, même pour les problèmes de sécurité critiques. Pour de meilleures performances, une sécurité améliorée et de nouvelles fonctionnalités, effectuez une mise à niveau vers la dernière version de GitHub Enterprise. Pour obtenir de l’aide sur la mise à niveau, contactez le support GitHub Enterprise.

Résolution des conflits de fusion après un rebasage Git

Lorsque vous effectuez une opération git rebase, vous déplacez généralement des commits. C’est pourquoi vous risquez de faire face à une situation où un conflit de fusion est introduit. Cela signifie que deux de vos commits ont modifié la même ligne dans le même fichier, et Git ne sait pas quelle modification appliquer.

Une fois que vous avez réorganisé et manipulé des commits avec git rebase, en cas de conflit de fusion, Git vous le signale avec le message suivant affiché sur le terminal :

error: could not apply fa39187... something to add to patch A

When you have resolved this problem, run "git rebase --continue".
If you prefer to skip this patch, run "git rebase --skip" instead.
To check out the original branch and stop rebasing, run "git rebase --abort".
Could not apply fa39187f3c3dfd2ab5faa38ac01cf3de7ce2e841... Change fake file

Ici, Git vous indique le commit à l’origine du conflit (fa39187). Trois choix s’offrent à vous :

  • Vous pouvez exécuter git rebase --abort pour annuler complètement le rebasage. Git vous renvoie à l’état de votre branche tel qu’il était avant l’appel de git rebase.
  • Vous pouvez exécuter git rebase --skip pour ignorer complètement le commit. Cela signifie qu’aucune des modifications introduites par le commit problématique ne sera incluse. Il est très rare de choisir cette option.
  • Vous pouvez résoudre le conflit.

Pour résoudre le conflit, vous pouvez suivre les procédures standard pour résoudre les conflits de fusion à partir de la ligne de commande. Une fois que vous avez terminé, vous devez appeler git rebase --continue pour que Git continue à traiter le reste du rebasage.