想要回滚之前的一次错误的 merge ,然而在那次 merge 之后又有几次 commit 并已 push 到远端仓库:
假设 git log 如下: commit5 10:00 commit4 9:00 commit3 8:00 wrong merge 7:00 reversion number: asdf4321 commit2 6:00 reversion number: abcd1234 commit1 5:00
回滚掉 7:00 那次 wrong merge
我的操作是 git reset --hard abcd1234 ,回到 commit2 的状态 然后再把 commit3 ,commit4 ,commit5 三个 commit 的改动...复制粘贴了回去... 再 git push -f 到远端仓库
事后被自己的行为蠢到了......
请教各位 git 圣手,这种情况如何优雅的回滚掉中间某次 merge/commit ,并保留之后的几次 commit 的代码


