Git interactive rebase reword - 历史中的提交位置已更改
Git interactive rebase reword - commit position in history changed
我在变基(改写)之前的历史:
A-B--------G----------L
\ \
C-D-E-F H-I-J-K
我想改写 G 和 L,所以我检查了他们的分支并做了一个 rebase 改写,这就是我最终得到的:
A-B------------------------G*-L*
\ \
C-D-E-F G-H-I-J-K
这是一张图片来说明当前的树:
现在让我更好地解释一下。在变基之前。前两个提交之一在第二个分支旁边。重新定位后更新。
那么,有人可以解释为什么会这样吗?如果我能解决这个问题?谢谢
Reword 与 edit 相同,因此提交的哈希和提交的时间将被更改。
变基后你的树应该看起来像那样(我想你在问题正文中的树是错误的):
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]
我在变基(改写)之前的历史:
A-B--------G----------L
\ \
C-D-E-F H-I-J-K
我想改写 G 和 L,所以我检查了他们的分支并做了一个 rebase 改写,这就是我最终得到的:
A-B------------------------G*-L*
\ \
C-D-E-F G-H-I-J-K
这是一张图片来说明当前的树:
现在让我更好地解释一下。在变基之前。前两个提交之一在第二个分支旁边。重新定位后更新。
那么,有人可以解释为什么会这样吗?如果我能解决这个问题?谢谢
Reword 与 edit 相同,因此提交的哈希和提交的时间将被更改。
变基后你的树应该看起来像那样(我想你在问题正文中的树是错误的):
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]