一步完成复杂的交互式变基?

6
我在git中有两个这样的分支。
* fffffff commit f
* ddddddd commit d
* bbbbbbb commit b
| * eeeeeee commit e
| * ccccccc commit c
| * aaaaaaa commit a
|/  
* 2222222 base revision 2
* 1111111 base revision 1

我希望能够像使用交互式变基一样重新排列和排序提交。但是,我想要交错几个提交,并最终得到这样的形状。

* ffffff2 commit f
* eeeeee2 commit e
* dddddd2 commit d
* cccccc2 commit c
* bbbbbb2 commit b
* aaaaaaa commit a
* 2222222 base revision 2
* 1111111 base revision 1

有没有一步完成这个rebase的方法?我试过分两步进行,首先将提交b重新基于提交e,然后再进行第二次交互式rebase以对所有提交进行排序。问题是我会遇到合并冲突(例如在提交b和提交e之间),如果我将提交b放在提交a之后,我就不会看到这些冲突,但解决这些冲突并不值得。
1个回答

8
从任何一个分支(BranchWithFBranchWithE)开始,发出交互式变基,例如:
git checkout BranchWithF
git rebase -i HEAD~3
当编辑器和提交列表弹出时,根据需要将以下内容添加(即在键盘上键入...)并交错:
pick aaaaaaa
pick ccccccc
pick eeeeeee
之后,BranchWithF将拥有所有6个提交,并且您可以放弃BranchWithE(仍然具有其3个提交)。

哇,太棒了!我从来不知道你可以在交互式变基期间添加行。我有一个类似的问题,你应该在这里得到认可:https://dev59.com/kU_Sa4cB1Zd3GeqP9BNT - Craig P. Motlin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接