Annuler une fusion Git
je travaille sur un projet utilisant Git comme VCS. J'ai une branche xyz
coupée de la branche principale de master. Après avoir travaillé pendant un certain temps, j'ai commis mon code et pris une traction de la ligne principale de la branche.
Le pull était très bien. J'ai ensuite fusionné le code avec master. Après la fusion, il y a eu des problèmes dans certains fichiers. Je n'ai pas donné le code après la fusion. Est-ce que quelqu'un peut s'il vous plaît guider sur la façon dont je peux avorter cette fusion et apporter ma branche où je travaille actuellement à l'état où elle était avant j'ai fusionné?
3 réponses
tant que vous n'avez pas commis, vous pouvez taper
git merge --abort
comme le suggère la ligne de commande.
si vous faites" git status " pendant que vous avez un conflit de fusion, la première chose que git vous montre est comment annuler la fusion.
à vrai dire, il y a beaucoup, beaucoup de ressources expliquant comment le faire déjà sur le web:
Git: comment inverser-fusionner un commit?
Git: comment inverser-fusionner un commit?
https://git-scm.com/blog/2010/03/02/undoing-merges.html
donc je suppose que je vais juste résumer quelques-uns de ces:
-
git revert <merge commit hash>
Cela crée un commit" revert "supplémentaire disant que vous undid une fusion -
git reset --hard <commit hash *before* the merge>
Cette réinitialisation de l'histoire avant que vous ne fassiez la fusion. Si vous avez des commits après la fusion vous aurez besoin decherry-pick
les sur après.
Mais honnêtement ce guide ici est mieux que rien Je peux expliquer, avec des diagrammes! :)