Git交互式rebase reword - 历史记录中的提交位置发生了变化

时间:2015-02-18 13:38:56

标签: git git-rebase

我在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

这是一张用于说明当前树的图片:

Current git tree

现在让我解释一下。在变基之前。最重要的两个提交之一是第二个分支旁边。在重新定位后,它已更新。

那么,有人可以解释为什么会这样吗?如果我可以解决这个问题?感谢。

1 个答案:

答案 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]