Je souhaite annuler une fusion car au lieu d'utiliser git merge -s recursive -X ours
, j'ai utilisé git merge -s ours
.Rétablissement d'une fusion git - nôtre
J'ai lu this blog post sur la fusion des fusions, mais cela ne semble pas fonctionner dans mon cas. J'ai donc la branche master
, puis la branche topic
. À un moment donné, j'ai fusionné master
en topic
, puis fusionné topic
en master
. Quand j'ai fusionné master
en branch
, j'ai eu un conflit sur un fichier, mais je me suis dit que ça n'avait rien d'important alors j'ai pensé que je disais git de l'ignorer, et d'utiliser ma version. C'est à ce moment-là que j'ai utilisé git merge -s ours
, au lieu de git merge -s recursive -X ours
, et j'ai découvert aujourd'hui qu'elle ignorait tout ce qu'un de mes coéquipiers a fait.
Maintenant, je suis en train de revenir cette fusion:
git checkout master
git revert -m 2 c475f0ac
Cela apporte en effet dans l'arbre les changements sont ignorés dans ma fusion (mon coéquipier changements). Le problème est que maintenant, mes changements ne sont plus dans l'arbre. J'ai essayé d'inverser le retour, mais pas de succès.
Une suggestion sur la façon de rétablir une telle fusion?
Existe-t-il une possibilité de réinitialiser --hard' tant le maître que le sujet dans leur état avant la fusion? – VonC
Pas tout à fait. La fusion a été poussée. Je suppose que ce que je peux faire est de rétablir la fusion avec '--no-commit' afin que je puisse corriger les changements et ensuite valider le retour. –
Mise à jour. C'est exactement ce que j'ai fait. Rétabli avec --no-commit, a corrigé les changements et ensuite commit. Cela a bien fonctionné à ce moment-là. –