用git重新定义一系列非线性提交

时间:2015-03-17 17:27:25

标签: git history rebase

在打开对原始回购的拉取请求之前,我想稍微抛光我的(杂乱的)功能分支。我有大约100个提交,我想要组合成3或4.所有提交都已经推送到我自己的远程仓库。因为我想在我自己的仓库中保留许多提交,所以我在分支原始仓库时创建了一个新分支。这个分支应该包含我的工作的精确副本,但提交次数较少。

不幸的是,将我当前的HEAD合并到新分支并且在合并提交(rebase -i)中应用x失败并且告诉我它不能应用补丁。假设我的历史如下:

o--o--o--o--o--o-----x
                \     \
                 o--o--o--o--o

我有什么想法可以通过这个提交?

1 个答案:

答案 0 :(得分:1)

这应该与git rebase -i -p commit一起使用,但代价是重做合并提交(即重新修复合并冲突)。

来自帮助:

-p, --preserve-merges try to recreate merges instead of ignoring them

但是,在您的情况下,仅修复合并冲突并继续使用rebase实际上可以正常工作。