问题是该问题的扩展:How to inject a commit between some two arbitrary commits in the past?
假设我在仅限本地的分支上具有以下提交历史记录:
A -- B -- C -- D
\- E
如何在A和B之间插入新的提交,并使D和E都保持在C之上?
答案 0 :(得分:0)
您可以在第一个分支上执行iteractive rebase以注入您的提交,然后执行rebase onto来将更改应用于您的另一个分支。
假设您拥有:
A -- B -- C -- D
\-- E
在将您的提交注入到您的第一个分支之后(在How to inject a commit between some two arbitrary commits in the past之后),您将得到以下内容:
A -- A2 -- B' -- C' -- D'
\-- B -- C -- E
与其他分支机构相比,您可以执行rebase --onto
来应用更改:
git rebase-进入C'E branch2
所以您的最终结果将是:
A -- A2 -- B' -- C' -- D'
\-- E'
答案 1 :(得分:0)
停止疯狂:),只需将提交添加到D
,然后将merge
或cherry-pick
提交到E
A -- B -- C -- D -- X
\-- E -- X