首页 > 解决方案 > 已恢复的精选提交的 Git rebase 可能会“丢失”它们

问题描述

我有这段历史:

          A---B---C---!BC
         /              \
    D---E---F---G--------H master
        \
         B'---C' new-branch

提交B&C最初是在顶部的功能分支中创建的,然后在提交中恢复,!BC然后整个分支合并到 master。提交B'C'已被挑选到新分支。

我现在想变基B'C'掌握,所以结果看起来像这样:

          A---B---C---!BC
         /              \
    D---E---F---G--------H master
                          \
                           B'---C' new-branch

但是,运行git rebase master会产生以下结果:

          A---B---C---!BC 
         /              \
    D---E---F---G--------H master
                           new-branch

正如 git-rebase 文档所述,它在技术上是正确

将跳过已在上游接受的具有不同提交消息或时间戳的补丁

但是,从人类的角度来看,这是不对的——我的工作目录缺少来自B和的更改C

我该如何运行git rebase才能产生“预期的”历史?

标签: gitrebase

解决方案



推荐阅读