如何在GitHub上撤销合并操作

26

我一直在 PhpStorm 的专门分支上工作,但是在推送到 GitHub 时,不小心合并了主分支。

我应该如何在 GitHub 和本地撤销合并?GitHub 的主分支用于迁移代码到各个服务器,因此我需要回滚到合并之前的上一个提交,而不是创建一个新的提交来撤消我的更改。


1
可能是回滚Git合并的重复问题。 - Hatted Rooster
2个回答

33

你需要将头指向当前头之前的提交。

git reset --hard <commit_before_merge>

例如:git reset --hard master^


3
那会重置我的本地分支。那么只需推送以更新Github吗? - Typhoon101
你可以重置或检出之前的提交并将其推送到Github作为head。 检出之前的提交 checkout master^ - kkflf
但是硬重置或上一个提交需要强制推送,对吧?强制推送会覆盖公共历史记录,并要求克隆存储库的每个人重新设置基底。 - Siddu
5
抱歉回复晚了。是的,你需要执行强制推送操作,命令为 git push -f - kkflf

10
为了更加简洁地回答这个问题:
git checkout master
git reset --hard <commit_before_merge>
git push -f

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接