1

我有一个看起来像这样的主分支:

A-B- C -D-E-F
   \   /
    H-I

其中 H 和 I 提交到另一个开发人员创建的同一个分支,D 是合并 I 和 C 的提交。我想从提交 H 和 I 中删除所有代码。我基本上希望分支看起来像:

A-B-C-E-F

我的计划是:

git rebase --onto C E
git push origin master --force

没有其他开发人员有分支或分叉或任何这会扰乱的东西。这些命令会做我想要的吗?我不需要变基上的 -p 标志吗?

4

1 回答 1

0

我最终使用:

git rebase -i C

在变基中,将出现一个文档供您编辑,您删除要删除的提交的行(H 和 I)。然后我不得不修复一堆合并冲突,并最终调用:

git push origin master --force

我大约有 9 次提交超过了我想要删除的提交,我不得不合并 5 或 6 次,有时出于某种原因在同一个文件中进行相同的更改。如果您有 100 次提交,这可能不是一个好的答案。

于 2013-10-13T07:23:10.643 回答