我已经在我的项目中间开始使用 Git,前两次提交只是一些初始设置(.gitignore 和 .gitattributes),第三次提交M2添加了 SVN 主干的内容:
I1 -- I2 -- M2 -- N -- .. -- Z
我在一个名为svn的分支中导入了 SVN 历史记录,其中M1是 SVN 主干(内容与M2相同,.gitignore 和 .gitattributes 除外):
A -- B -- ... -- K -- L -- M1
问:合并两个分支的最佳方法是什么?
我可以将M1和M2合并到M3中,然后变基,但我不知道如何删除I1和I2提交以及是否可以安全地删除M3提交(我找到了一些保留合并提交的建议,但是在这种情况下M3不再需要了)。
A -- B -- ... -- K -- L -- M1
\
M3 -- N' -- .. -- Z'
/
I1 -- I2 -- M2 -- N -- .. -- Z
另一种方法是手工挑选N .. Z提交到svn分支,但我想避免这种方法。
最优雅的解决方案是将N .. Z引入的更改重新设置在svn分支之上,但我还没有找到没有共同祖先的两个分支所需的语法。