我想在向原始存储库发起 pull 请求之前稍微完善一下我的(困惑的)功能分支。我有大约 100 个提交,我想将其 merge 为 3 或 4 个。所有提交都已推送到我自己的远程存储库。由于我想将许多提交保留在我自己的存储库中,因此我在 fork 原始存储库的位置创建了一个新分支。该分支应该包含我的工作的精确副本,但提交较少。
不幸的是,将我当前的 HEAD merge 到新分支并应用 rebase -i
在 merge 提交 (x
) 时失败,并告诉我它无法应用修补。假设我的历史如下:
o--o--o--o--o--o-----x
\ \
o--o--o--o--o
有什么想法可以让我通过这个提交吗?
最佳答案
更新
如果您使用的是 Git 2.34.0 或更高版本:使用 --rebase-merges
:
git rebase --interactive --rebase-merges
--preserve-merges
不能再使用。
这应该与 git rebase -i -p commit 一起使用,但代价是重做 merge 提交(即重新修复 merge 冲突)。
来自帮助:
-p, --preserve-merges try to recreate merges instead of ignoring them
但是,就您而言,只需解决 merge 冲突并继续 rebase 实际上就可以工作。
关于git - 使用 git 重新构建非线性提交链,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29105786/