Rebase interactiva compleja en un solo paso?

Tengo dos twigs en git con esta forma.

* 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 

Quiero volver a establecer la base y reorderar los commits como lo haría con rebase –interactive. Sin embargo, quiero intercalar varias de las confirmaciones y terminar con una forma como esta.

 * 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 

¿Hay alguna manera de hacer esta rebase en un solo paso? Traté de hacerlo en dos pasos al volver a establecer la base de commit b encima de commit e y luego hacer una segunda rebase interactiva para orderar todas las confirmaciones. El problema es que obtengo conflictos de combinación (entre commit b y commit e, por ejemplo) que de otro modo no vería (al colocar commit b después de commit a) y no vale la pena resolver los conflictos.

Comience con cualquier twig (ya sea BranchWithF o BranchWithE ) y emita la rebase interactiva, por ejemplo

 git checkout BranchWithF
 git rebase -i HEAD ~ 3

Cuando aparezca el editor y la list de compromisos, agregue (lea: escriba en su keyboard …) e intercala

 recoger aaaaaaa
 elegir ccccccc
 recoger eeeeeee

a la list como mejor le parezca

Posteriormente, BranchWithF tendrá los 6 commits, y puedes descartar BranchWithE (que todavía tiene sus 3 commits).