如何将本地git存储库导入svn?

DJ.*_*DJ. 15 git-svn

我正在使用本地git存储库,我需要将我的本地git推送到现有的 svn存储库.我的git存储库是纯本地git存储库,它不是 init使用的git svn clone.

如何将此本地git repo导入svn?

我希望将git历史记录导入SVN.

目前SVN存储库的结构如下:

https://svnrepohost
           /branches
           /tags
           /trunk
                  /projectA
                  /projectB
                  /newProject
Run Code Online (Sandbox Code Playgroud)

我需要的是将我的git存储库导入https://svnrepohost/trunk/newProject上面,假设newProject文件夹是空的.

DJ.*_*DJ. 28

我终于通过以下步骤解决了这个问题:

  1. 例如,在要导入的svn中设置适当的项目文件夹 http://svnrepo/svn/trunk/newProject

  2. 创建一个新的git-svn存储库

    git svn clone http://svnrepo/svn/trunk/newProject

  3. 补充一点,我们要为导入的git仓库远程的git - svn的回购

    git remote add origin ../original-git-repo

  4. 从original-git-repo中提取所有数据

    git pull origin master --allow-unrelated-histories

  5. 针对svn重新定位本地存储库

    git svn rebase

  6. 将更改提交到svn

    git svn dcommit

  7. 清理遥控器

    git远程删除原点

  • 工作得很好虽然我认为第7步应该是git远程删除原点. (2认同)