我想将 Git 存储库 (G) 导出到 SVN 存储库 (S)。 S已经用标准布局(branches/tags/trunk)进行了初始化,G的开发历史到此为止。我遵循了 Google Open Source Blog 中的建议其中详细说明了导出 G → S 的工作原理。基本上,博客建议将 git-svn 克隆 S 到一个空目录中,fetch G 到一个临时文件中。将其分支并 rebase 为“master”,从而成为第二个 Git 存储库 (G')。
我既不想放弃不受源代码控制的文件,也不想放弃源代码中不可用的分支。这就是为什么我不想继续与 G' 合作,而是与 G 合作。有没有办法取回代表对 S 的布局提交的新提交?我没有成功尝试将 G'merge 到 G(当然没有共同的祖先)。
最佳答案
您应该能够使用 git merge --strategy=ours
merge G' 和 G,即忽略祖先并创建一个使用 G' 树的提交,但似乎将两个提交都作为父提交。结果会有点难看,因为历史记录将包含每个提交的两个副本,但您应该能够继续无缝地处理 G。
关于svn - 将单个提交添加到 Git 存储库的根目录/将 Git 导出到 Subversion,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1420754/