假设我在主分支中有几个提交A-G。基于提交E,我创建了两个分支branchA
和branchB
,并基于提交F创建了一个分支branchC
。假设我在提交D(在分支主机上)中引入了一个严重错误,需要在branchA
,branchB
和branchC
中对待。如何在git中更改提前提交?
我知道如何更改提交D并解决那里的错误(使用git rebase -i C
) - 给出一个新的提交历史A-B-C-D'-E'-F'-G'。但是,这并不影响我的任何分支机构的历史。要清楚:branchA
和branchB
仍然基于E而不是重写的提交E',这会破坏存储库结构。这不是我想要的 - 我更希望完整的树,以及D'后的所有内容都更新。
我该如何解决这种情况?在这里修改主分支的历史是否正确?