我的历史树目前看起来是这样的: 混帐:移动提交前合并
我想申请提交b3
分支主。当然,我可以再次合并分支feature
为master
但历史会显得凌乱两个合并提交(a6
,并且a4
这只是没用了):
因此,想什么我知道,是如何使a4
现在指向b3
而不是b2
? 我承认SHA1
旨意是不同的,因此承诺将改名为a4'
和a5'
我的历史树目前看起来是这样的: 混帐:移动提交前合并
我想申请提交b3
分支主。当然,我可以再次合并分支feature
为master
但历史会显得凌乱两个合并提交(a6
,并且a4
这只是没用了):
因此,想什么我知道,是如何使a4
现在指向b3
而不是b2
? 我承认SHA1
旨意是不同的,因此承诺将改名为a4'
和a5'
从主分支,你可以简单地重订到新b3
,同时保留使用--preserve-merges
option(或-p
合并短):
git rebase -p feature
这样,当Git的变基,它不会试图压平合并,而是重新创建它的新基地犯下的顶部。所以,你的历史看起来就像这样:
master
↓
a1 -- a2 -- a3 --------- a4' -- a5'
\ /
\ /
b1 -- b2 -- b3
↑
feature
相比有以下不使用--preserve-merges
标志时:
master
↓
a1 -- a2 a3' -- a4' -- a5'
\ /
\ /
b1 -- b2 -- b3
↑
feature
从主,做'git的变基-p b3'。这应该保留合并,但在“b3”之后移动它。 – poke
@poke thx!我应该在'a4'状态下执行此操作,还是在'a5'上运行? – ebo
它应该在其中任何一个上工作。 – poke