Git 一步完成复杂的交互重基?

Git 一步完成复杂的交互重基?,git,rebase,git-rebase,Git,Rebase,Git Rebase,我在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 我想像使用rebase——interactive一样重新设置提交的基础和顺序。然而,我想交错几个提交,并以这

我在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
我想像使用rebase——interactive一样重新设置提交的基础和顺序。然而,我想交错几个提交,并以这样的形状结束

* 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
有没有一种方法可以在一个步骤中执行此重基?我尝试分两个步骤执行此操作,在提交e的基础上重基提交b,然后执行第二个交互式重基以对所有提交进行排序。问题是,我得到的合并冲突(例如提交b和提交e之间的冲突)是我看不到的(通过将提交b放在提交a之后),因此不值得解决这些冲突。

从任何一个分支(例如,分支WithF或分支WithE)开始,并发出交互式重基

git checkout BranchWithF git rebase -i HEAD~3 git签出分支Withf git rebase-i头~3 当编辑器和提交列表弹出时,添加(读:在键盘上键入…)并交错

pick aaaaaaa pick ccccccc pick eeeeeee 选AAAAAAAA 挑选 拣鸡蛋 你认为合适的话,把它放到清单上


之后,BranchWithF将拥有全部6次提交,您可以扔掉BranchWithE(仍有3次提交)。

哇,太棒了!我从来都不知道你可以在一个交互式的重新基线中添加行。我有一个类似的问题,你应该在这里获得学分: