git – 在什么情况下,对HEAD~10的重组会产生冲突?

我有一个案例,只是做git rebase HEAD~10产生多个合并冲突.

据我所知,上面的命令应该恢复为HEAD~10然后从那时开始挑选每一次提交而不进行任何更改,从而简单地重复历史记录.

如何产生合并冲突?

我不会发布具体的案例,因为我不想把这个问题转化为特定的问题解决(我实际上没有理由去做那个rebase),但我宁愿试图理解git是如何工作的.

编辑:

添加网络图,以更好地说明事情.当rebase达到“More tests”提交时,就会发生冲突

《git – 在什么情况下,对HEAD~10的重组会产生冲突?》

最佳答案 如果您的最后10次提交包含合并提交,则可能会发生这种情况.重定位将默认情况下线性化历史记录,除非您指定–preserve-merges / -p,从而摆脱历史记录中合并提交的任何合并冲突结果,因此您将再次遇到这些冲突.

点赞