Cela semble devoir arriver tout le temps, mais je ne trouve pas de réponse.
ce qui s'est passé :
Un autre développeur a git merge d une branche avec la branche maîtresse sur leur serveur local, ce qui donne lieu à conflits . Ensuite, git add les conflits, git commit ted, et git push ed les changements et conflits vers la branche master. Il a laissé tomber son micro et a quitté le bâtiment :
la question :
existe-t-il un moyen pour moi d'annuler ce dernier commit conflictuel, afin que je puisse pousser mes changements de code vers master et continuer ma journée, laissant l'autre développeur corriger le code conflictuel sur sa machine locale ? ???
ce que j'ai trouvé jusqu'à présent :
J'ai déjà validé mes modifications locales et j'ai transféré le "commit conflictuel" sur mon serveur local...
les deux options que je trouve sont :
option 1 :
git revert -m 1 <conflicted commit>
Cela annulera tous les changements faits par le commit en conflit. mais quand l'autre développeur fait un git pull, tous ses changements seront supprimés. n'est-ce pas ?
option 2 :
git reset --hard <my commit>;
git push --force;
Cela supprimera complètement le commit en conflit de git comme s'il n'était jamais arrivé (ce que je n'aime pas). Mais maintenant, le serveur local des autres développeurs ne sera plus synchronisé.
que feriez-vous ?