假设您有以下历史记录:
D———G feature1.1
/
...A-B-C-E-F feature1
现在我想将B拆分成两个提交以获得:
D———G feature1.1
/
...A-B1-B2-C-E-F feature1
你不能只是运行 git rebase -i ... 然后选择编辑,因为你会得到以下结果
B-C-D-G feature1.1
/
...A-B1-B2-C'-E'-F' feature1
通过使用git rebase --onto C' C feature1.1,可以很快地解决这个问题。
现在来讲一个更具体的用例。如果feature1代表您的主干分支,A是您的初始提交,并且您想要拆分A,那么该怎么做呢?由于重置后它们不再有共享历史,同样的技术就不再适用了。
rebase --onto
。你的--onto
的目标将是你拆分的第一半A
,无论它的哈希 ID 是什么。 - torek