如何将现有的GIT项目导入到SVN中,在主分支上保存GIT历史?

如何将现有的GIT项目导入到SVN中,在主分支上保存GIT历史?,svn,git,import,Svn,Git,Import,我用GIT开发了一个项目,提交了几百次。我只有一个主分支,提交是线性的 现在,我被要求将源代码放入现有的SVN中,最终我希望保留主提交历史记录(消息和差异、作者由SVN访问预设) 好像我需要将整个提交历史重放到SVN中。GIT有没有办法或多或少自动完成这项工作 我想到了一个想法,但我不知道如何处理它:我在SVN中创建一个新的空trunk/,用GIT(即一个空的GIT SVN克隆)克隆它,然后将我的主控更改重放到其中,然后再将其提交 在将来,我将与我的GIT分支做进一步的工作,并将其与SVN同步

我用GIT开发了一个项目,提交了几百次。我只有一个主分支,提交是线性的

现在,我被要求将源代码放入现有的SVN中,最终我希望保留主提交历史记录(消息和差异、作者由SVN访问预设)

好像我需要将整个提交历史重放到SVN中。GIT有没有办法或多或少自动完成这项工作

我想到了一个想法,但我不知道如何处理它:我在SVN中创建一个新的空
trunk/
,用GIT(即一个空的GIT SVN克隆)克隆它,然后将我的主控更改重放到其中,然后再将其提交

在将来,我将与我的GIT分支做进一步的工作,并将其与SVN同步

  • 使用一些commit设置空的SVN项目
  • “git svn克隆”它
  • 在几乎为空的git svn项目中导入历史记录(在此处重新设置基础)
  • “git svn DCOMIT”
  • 问题:

  • 时间戳断开,作者姓名断开
  • “git svn dcommit”在对dcommit的提交过多时效果不太好。最好拆分为每个约20个提交的包

  • 谷歌有一个关于如何做到这一点的非常详细的教程。它用于导入谷歌代码,但适用于任何svn回购。

    出于好奇,你为什么要从git迁移到svn?@Zachary:在我看来,我并不是在迁移这个项目:我开发这个项目的人让我把它放到他们的svn中。理想情况下,我想保留历史。未来我将继续使用GIT进行开发,但之后会定期推进他们的SVN。以某种方式将所有内容放入SVN并使用GIT进行检查对我来说也很好。我喜欢。使用它来构建一个原型,为期两周。企业喜欢这个原型,说“这个Git是什么?”?SVN怎么了?把它放到我们的SVN Repo中,但保留所有有用的提交历史记录。我们不止一次看到过这种情况。不幸的是,该页面已经不存在了。你知道另一个来源吗?