除此之外,有没有合理的方法将整个git存储库转换为subversion?
我只能找到有关从 subversion 迁移到 git以及在两者之间交换更改集的信息,但不能将整个git存储库的简单转换为svn.
转换这个方向的一般问题是,Git存储库可以包含的不仅仅是修订版的线性历史记录,正如Subversion所期望的那样.具有不同历史和频繁合并提交的多个祖先都是可能的,这在Subversion存储库中无法轻易表示.
对于Git存储库中确实存在线性历史记录的简单情况,您可以使用git-svn dcommit
将批次推送到其他空的Subversion存储库.
使用SubGit非常容易.
$ svnadmin create svn.repo $ subgit configure svn.repo $ nano svn.repo/conf/subgit.conf to specify a path to your bare repository (you may use "git clone --bare" if you have none locally) $ subgit install svn.repo
转换后,您的SVN和链接的Git存储库将保持同步:每个Git推送都将转换为SVN提交,反之亦然.打破翻译运行
$ subgit uninstall svn.repo
虽然翻译SubGit会尽可能地保留提交日期,标签,忽略,合并,EOL,分支等.我不能对git-svn存储库说同样的话.