【发布时间】:2019-12-17 05:02:28
【问题描述】:
我的问题类似于Rebase feature branch onto another feature branch
在处理某个功能时,我们错误地在“功能 1”分支 Commit C 中进行了提交,该提交被还原并为子功能创建了一个分支,然后樱桃选择了提交。
A - B - C - C"(Revert C) - D -- Feature-1
\
C'(Cherry Pick C) - E - F - G -- Branch-1
现在很少有错误修复被合并到功能 1 中,这是我的分支通过测试所需的。因此,我想重新设置分支 1,使其看起来像
A - B - C - C"(Revert C) - D -- Feature-1
\
C'(Cherry Pick C) - E - F - G -- Branch-1
我尝试使用 (On Branch-1)$ git rebase Feature-1 重新设置基准,但这并没有选择提交 C',因为它发现它已经存在于分支中。
我应该如何做变基?
【问题讨论】:
-
你想删除 C' 吗?还是 C,或两者兼而有之?
-
@Julian:不要删除 C' 但保留它。因此,当变基时,它发现 C' 提交已经作为提交 C 存在于路径中。因此,在变基之后,C' 提交不会被选中。因此,Branch-1 看起来像
<previous> - D - E - F - G -
清除。我认为你可以再次选择 C
-
在第一个提交图中。你确定它是 C' 而不仅仅是 C 吗?有什么理由不对两个分支重新排序并且不对功能 1 中的 C 进行还原?
-
@BlackEye:
C'与C完全相同,只是它是樱桃采摘到不同的分支上。如何重新排序两个分支?问题是我们很晚才意识到提交 C 被添加到功能分支中