【问题标题】:How to undo a merge that happened several commits ago, while preserving those later commits如何撤消几次提交之前发生的合并,同时保留那些后来的提交
【发布时间】:2020-01-06 20:06:14
【问题描述】:

我正在使用 git 在一个 8 人团队中开展一个 PHP 项目。在过去的一周里,我一直在我的 git 分支上工作,每天进行几次提交。我还每隔几天将我们的生产分支合并到我的本地分支中,以控制合并冲突。

今天,我意识到几天前(以及许多提交)我犯了一个错误,我没有将生产合并到我的分支中,而是意外地合并到了一个开发分支中(其中包含其他几个人正在开发的新功能。 ) 我的分支现在包含许多尚未准备好投入生产的代码!我需要删除/恢复此合并,但保留我在合并完成后所做的所有更改。

我想把所有东西都保留在我原来的分支中,因为那个分支已经被推送到了gitlab,并且已经积累了很多的cmets和revision requests。

最好的方法是什么?

【问题讨论】:

    标签: git git-merge git-revert


    【解决方案1】:

    我不小心合并到一个开发分支中

    如果你还没有推送那个dev分支,你可以

    • cherry-pick 自合并到右侧分支后您在 dev 中所做的提交
    • 在合并之前重置开发。

    【讨论】:

      猜你喜欢
      • 2013-06-10
      • 2019-11-15
      • 2015-04-12
      • 2011-12-21
      • 2020-12-11
      • 2019-04-28
      • 2010-12-26
      • 1970-01-01
      • 2014-08-10
      相关资源
      最近更新 更多