使用 git 重新建立非线性提交链的基础
Rebasing a chain of nonlinear commits with git
我想在打开对原始存储库的拉取请求之前稍微完善一下我的(凌乱的)功能分支。我有大约 100 个提交,我想合并成 3 或 4 个。所有提交都已经推送到我自己的远程仓库。因为我想在我自己的仓库中保留许多提交,所以我在我分叉原始仓库的地方创建了一个新分支。这个分支应该包含我的工作的精确副本,但提交更少。
不幸的是,将我当前的 HEAD 合并到新分支并应用 rebase -i
在合并提交 (x
) 时失败,并告诉我它无法应用补丁。假设我的历史如下所示:
o--o--o--o--o--o-----x
\ \
o--o--o--o--o
我有什么想法可以通过这个提交吗?
这应该与 git rebase -i -p commit
一起工作,但以重做合并提交(即重新修复合并冲突)为代价。
来自帮助:
-p, --preserve-merges try to recreate merges instead of ignoring them
但是,在您的情况下,仅修复合并冲突并继续变基实际上可能有效。
我想在打开对原始存储库的拉取请求之前稍微完善一下我的(凌乱的)功能分支。我有大约 100 个提交,我想合并成 3 或 4 个。所有提交都已经推送到我自己的远程仓库。因为我想在我自己的仓库中保留许多提交,所以我在我分叉原始仓库的地方创建了一个新分支。这个分支应该包含我的工作的精确副本,但提交更少。
不幸的是,将我当前的 HEAD 合并到新分支并应用 rebase -i
在合并提交 (x
) 时失败,并告诉我它无法应用补丁。假设我的历史如下所示:
o--o--o--o--o--o-----x
\ \
o--o--o--o--o
我有什么想法可以通过这个提交吗?
这应该与 git rebase -i -p commit
一起工作,但以重做合并提交(即重新修复合并冲突)为代价。
来自帮助:
-p, --preserve-merges try to recreate merges instead of ignoring them
但是,在您的情况下,仅修复合并冲突并继续变基实际上可能有效。