使用git重新调整非线性提交链
在打开原始回购请求之前,我想稍微润色一下我的(凌乱的)功能分支。我有大约100个提交,我想合并成3或4个。所有提交都已推送到我自己的远程repo。由于我想在自己的回购协议中保留许多承诺,我在分叉原始回购协议的地方创建了一个新分支。这个分支应该包含我的工作的一个精确副本,但提交次数较少 不幸的是,在合并提交(使用git重新调整非线性提交链,git,history,rebase,Git,History,Rebase,在打开原始回购请求之前,我想稍微润色一下我的(凌乱的)功能分支。我有大约100个提交,我想合并成3或4个。所有提交都已推送到我自己的远程repo。由于我想在自己的回购协议中保留许多承诺,我在分叉原始回购协议的地方创建了一个新分支。这个分支应该包含我的工作的一个精确副本,但提交次数较少 不幸的是,在合并提交(x)时,将当前头部合并到新分支并应用rebase-i失败,并告诉我它无法应用修补程序。假设我的历史记录如下所示: o--o--o--o--o--o-----x
x
)时,将当前头部合并到新分支并应用rebase-i
失败,并告诉我它无法应用修补程序。假设我的历史记录如下所示:
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个对我来说听起来有点可疑。特别是如果你想保留它们;它们似乎有一些价值。