Undo a git merge (hasn't been pushed yet)

十年热恋 提交于 2019-12-02 16:34:25

git reset --hard HEAD~17 takes you back 17 commits ahead of the head of master. git rebase -i HEAD~17 probably gets rid of the extra commits as well.

To undo a merge that was NOT pushed:

git reset --merge ORIG_HEAD

If during the merge you get a conflict, the best way to undo the merge is:

git merge --abort

Taken from git reset

Undo a merge or pull

    $ git pull                         <1>
    Auto-merging nitfol
    CONFLICT (content): Merge conflict in nitfol
    Automatic merge failed; fix conflicts and then commit the result.
    $ git reset --hard                 <2>
    $ git pull . topic/branch          <3>
    Updating from 41223... to 13134...
    Fast-forward
    $ git reset --hard ORIG_HEAD       <4>

This one will surely work!

git reset --hard HEAD~1 
git init

The first one will revert the changes you recently made (the merge) the second will init the repo to latest (therefore will fast forward to latest on origin)

I've tried

git reset --merge

but it didn't do the trick.

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!