我在rebase之前的历史(reword):
A-B--------G----------L
\ \
C-D-E-F H-I-J-K
我想改写G和L,所以我检查了他们的分支并做了一些重新措辞,这就是我最终的结果:
A-B------------------------G*-L*
\ \
C-D-E-F G-H-I-J-K
这是一张用于说明当前树的图片:
现在让我解释一下。在变基之前。最重要的两个提交之一是第二个分支旁边。在重新定位后,它已更新。
那么,有人可以解释为什么会这样吗?如果我可以解决这个问题?感谢。
答案 0 :(得分:3)
Reword与edit相同,因此commit的提交时间将会改变。
在rebase之后,你的树应该看起来像那样(问题体中你的树是错的我认为):
A-B------------------------G*-L*[master]
\ \
C-D-E-F G-H-I-J-K[branch2]
请注意,提交G仍在branch2
中。要解决此问题,您应该将branch2
重新绑定到新提交G *。
git rebase --onto <G* hash> <G hash> branch2
之后G提交将会消失:
A-B--------G*----------------L*[master]
\ \
C-D-E-F H-I-J-K[branch2]