【发布时间】:2020-05-07 21:09:05
【问题描述】:
假设您有以下历史记录:
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 是你的 master 分支,A 是你的初始提交并且你想拆分 A,你会怎么做。同样的技术不起作用,因为在 rebase 之后它们不再有共享的历史记录。
【问题讨论】:
-
您仍然需要使用相同的技术:使用
rebase --onto。--onto的目标将是拆分A的前半部分,无论最终的哈希 ID 是什么。
标签: git git-branch git-rebase