【问题标题】:Revert commits unique to a branch恢复分支独有的提交
【发布时间】:2015-09-08 17:22:21
【问题描述】:

我刚刚修复了一个非常长的合并冲突,然后意识到我合并到了错误的分支!当我打算合并到dev-majorversion.minorversion 时,我合并到了dev-majorversion。 有什么方法可以撤消majorversion 上存在但minorversion 上不存在的提交,以便分支撤消这些提交,还是我需要再次合并?

【问题讨论】:

    标签: git git-merge git-revert


    【解决方案1】:

    你可以挑选你的合并分辨率:

    git checkout dev-majorversion.minorversion
    git cherry-pick <SHA1 of commit resolving merge>
    git merge --ours <yourBranchToMerge> # the one your already merge into the wrong branch
    

    git merge --ours 记录&lt;yourBranchToMerge&gt;dev-majorversion.minorversion 之间的合并,但保持dev-majorversion.minorversion 的内容完整(包括其精选的提交)。

    您仍然需要验证精选的提交是否与 dev-majorversion.minorversion 的内容兼容(因为它代表最初在 dev-majorversion 上完成的冲突解决)

    如果是这样,您可以返回 dev-majorversion 并将 HEAD 重置为上一个提交以取消此处完成的合并(假设合并是在 dev-majorversion 上完成的最后一个操作,并且尚未推送)

    git checkout dev-majorversion
    git reset --hard @~
    

    【讨论】:

      猜你喜欢
      • 2018-11-01
      • 2012-11-09
      • 1970-01-01
      • 2023-01-11
      • 2012-01-24
      • 2018-12-19
      • 2021-09-22
      • 2021-10-31
      • 1970-01-01
      相关资源
      最近更新 更多