【发布时间】:2022-07-21 19:19:52
【问题描述】:
从我的主要功能分支,我开始了一个新的功能分支。完成此功能后,我开始了另一个新功能分支。是否可以更改第二个子功能分支的分支点,使其从主功能分支分支?
也就是说,我有这个:
A --> B --> C --> D --> E --> F
^ ^ ^
| | |
Head of Head of Head of
feat0 feat1 feat2
我想把它变成这样:
.--> E --> F
/
A --> B
\
`--> C --> D
C 和 D 中的更改(几乎)与 E 和 F 中的更改相互排斥。
我认为rebase --onto 可能会成功。在F 我做了git rebase --onto B。这将feat2 的头部移动到B,失去E 和F;绝对不是我想要的!
我的第二个想法是,我可以在 F 从 B 进行交互式变基,删除 C 和 D,调整任何导致冲突的提交。这似乎奏效了,但它是不必要的混乱和参与。
有没有更好的办法?
【问题讨论】:
-
也许可以通过reset来完成? BranchFromE 重置为 B 并提交,BranchFromF 重置为 B 并提交,cherry-pick BranchFromF 进入 BranchFromE,现在 BranchFromE 可以成为 feat2 的负责人
标签: git git-branch