在git中,我有2个提交和分支合并,已经重新定位,看起来像这样
7
6_
5
4
3_|
2
1
合并是用no-ff完成的。
我的客户端不想推出提交1和2,所以即时尝试将其重新设置为这样
1
2
7
6_
5
4
3_|
这是可取的,因为那时我可以分支提交7,这是我的生产版本。
rebase -i XXXX
使整个事情变得扁平化并且存在大量冲突。因为我试图准备一个生产推广,我不想有冲突,因为代码将不得不回到测试。
当我这样做时
rebase -i -p XXXXXX
它正确地移动了提交1和2,但它删除了合并以及与之关联的4周工作。我是怎么做到这一点的?
答案 0 :(得分:3)
从两个提交中创建一个补丁,并以反向模式应用它们。
亲:
骗局:
另一个黑客将是在没有最后7次修订的情况下结账。然后为修订3-7创建补丁并应用它们。应该给你相同的结果和干净的提交历史。
但在这两种情况下,我都很谨慎,因为你在rebase期间遇到了很多冲突。