【问题标题】:How to undo a merge in GitHub如何撤消 GitHub 中的合并
【发布时间】:2017-08-09 04:06:41
【问题描述】:

我一直在 PhpStorm 的一个专用分支上工作,但是在推送到 github 时,我无意中合并到了 master 分支。

如何在 github 和本地撤消合并? github master 用于将代码迁移到各种服务器,因此我需要回滚到合并之前的上一个提交,而不是在我的更改撤消的情况下创建一个新的提交。

【问题讨论】:

标签: github revert


【解决方案1】:

您需要将头部重置为当前头部之前的提交。

git reset --hard <commit_before_merge>

例如git reset --hard master^

【讨论】:

  • 这将重置我的本地分支。那么是否只是推送更新github的一个案例?
  • 您可以重置或签出之前的提交并将其作为 head 推送到 github。签出上一次提交 checkout master^
  • 但是硬重置或先前的提交需要强制推送,对吧?强制推送会覆盖公共历史记录,并要求所有克隆了 repo 的人重新定位他们的克隆。
  • @Siddu 很抱歉这么晚才回复您。是的,您必须进行强制推动。 git push -f.
【解决方案2】:

更简洁地回答这个问题:

git checkout master
git reset --hard <commit_before_merge>
git push -f

【讨论】:

    猜你喜欢
    • 2014-09-23
    • 2021-06-01
    • 1970-01-01
    • 2011-03-10
    • 2011-03-26
    • 2010-12-26
    • 2011-12-21
    • 2016-12-24
    • 2023-04-09
    相关资源
    最近更新 更多