从Git迁移到SVN

cur*_*nny 9 svn migration git

我有一个项目需要将Git存储库移植到SVN.我尝试了几种在线发布的方式,但它们都不适合我.如果有人能提供帮助,我们将非常感激.

我按照指南

  • 将Git repo克隆到工作副本
  • 进入副本
  • 将头部倒回第一次提交
  • 樱桃采摘所有提交
  • git svn rebasegit svn dcommit

这种方法的问题是我的Git存储库有一个复杂的历史.有许多分支出局和合并.当我选择樱桃时,它只会回收最终存储库的一部分.

问题:有没有办法避免樱桃采摘和git svn rebase?也许用其他东西替换它?

我关注这篇网络帖子:将Git repo迁移到svn

这篇文章基本上

  • 没有 git svn clone
  • 在克隆的工作副本中获取了git repo
  • 将主人分支到old_master
  • 将所有提交从old_master应用到master(git svn rebase)
  • 没有 git dcommit

这种方法的问题类似于我在第一篇中所遇到的问题:当我这样做时git svn rebase,存在很多冲突.另外,当我跳过所有冲突时,git dcommit失败了.它告诉我:Unable to determine upstream svn information from HEAD history.

我不知道从这一点开始还有什么可以尝试的.如果您发现我做错了或有其他办法,请提出任何建议.赞赏它!!

mga*_*aia 6

我想您别无选择,只能丢失一些 git 历史记录 - SVN 无法处理那么多信息。

我想到的将问题委托给第三方的唯一技巧是利用GitHub 的 SVN 支持来简化您的任务。

我建议您认真考虑是否需要保留您的历史记录,或者它需要有多完整。基于此,我只是压缩/重新设置冲突的提交(或单个提交中的整个历史记录),然后从那里开始。

愿叉子与你同在!