将SVN回购作为分支导入现有Git回购
我目前有一个关于谷歌代码的项目,我想把它整合到Github的项目中 问题是SVN项目本质上只是github上较大项目的一个文件夹,所以我不认为我可以使用git SVN来实现这一点 我假设我可以使用git svn来克隆项目,但是我不确定如何将svn项目正确地移植到现有的git项目上 理想的结果是将SVN历史记录放入Git分支(而不是将其移植到master) 能够将数据提交回svn并不是真正必要的(如果有帮助的话) 解决 最后,我只使用了_doug的建议,但做了一些小修改: 1:我使用了来自的建议来添加googlecode作为远程参考 2:我为我想要的远程分支创建了一个新的主分支 3:我用过 git merge-s ours——不提交googlecode远程 合并 4:然后我用了 git读取树——前缀=folder1/folder2/-u谷歌代码远程 读取合并历史记录并重新设置所需子文件夹的基础将SVN回购作为分支导入现有Git回购,svn,git,git-svn,Svn,Git,Git Svn,我目前有一个关于谷歌代码的项目,我想把它整合到Github的项目中 问题是SVN项目本质上只是github上较大项目的一个文件夹,所以我不认为我可以使用git SVN来实现这一点 我假设我可以使用git svn来克隆项目,但是我不确定如何将svn项目正确地移植到现有的git项目上 理想的结果是将SVN历史记录放入Git分支(而不是将其移植到master) 能够将数据提交回svn并不是真正必要的(如果有帮助的话) 解决 最后,我只使用了_doug的建议,但做了一些小修改: 1:我使用了来自的建议来
希望这能帮助处于类似情况的人;) 我以前没用过,但听起来像是你想要的。有更多关于如何使用它的细节 基本上,您可以将SVN存储库添加为远程存储库,然后使用
git read tree
命令将其“移植”为纯git存储库的子目录。根据您希望历史记录显示的方式,您可以执行git merge-s子树
将其合并到纯git分支中(git svn)或者您可以按照第二个链接中的步骤添加--squash
和--no commit
标志,并使合并显示为纯git分支中的单个提交
这些指令假定远程设备也是git repo。如果本地回购协议是用git而不是git svn创建的,那么不确定它的效果如何。这有点麻烦,但要制作一个只反映git中SVN回购的中间存储库。通过这种方式,您可以创建svn repo的git svn镜像,并将其添加为远程,上面的说明应该按照所述工作