我正在开发一个最初使用Subversion的项目,但远程存储库已被删除,我不想再使用Subversion了。我想将它迁移到git。
有一种方法可以在没有远程存储库的情况下执行此操作,保留所有修订历史记录(不执行git init .
)?
我已经使用git-svn进行了git迁移的颠覆,但在其他项目上没有任何问题,但它们位于远程存储库中,我无法找到有关在本地迁移它的任何信息。
答案 0 :(得分:5)
Subversion与Git不同,它不会将存储库保留在您的工作文件夹中,因此您将无法迁移它。
您需要创建一个新的存储库并将其检入,就好像它是新代码一样。
答案 1 :(得分:1)
有一种方法可以在没有它的情况下完成 远程存储库,保留所有 修改历史(没有做git init。)?
简答:不。
与git不同,subversion是集中式版本控制系统,这意味着它将所有修订历史存储在服务器中。
相比之下,分布式版本控制系统(如git,mercurial或bazaar存储所有修订历史本地。在后一种情况下,您确实可以相对轻松地在存储库之间导入/导出。在前者中,您需要服务器才能这样做。
答案 2 :(得分:0)
“svn switch --relocate”救援[1]。
首先,您必须在任何普通服务器中设置临时svn存储库,然后将“本地”svn存储库(也称为工作副本)重定位到该服务器,将其提交到那里,然后使用git-svn live you'以前做过。
[1] http://webkit.org/blog/97/svn-repository-location-change/
答案 3 :(得分:0)
如果您设法获得已删除的远程subversion存储库的正确备份,则只能保留subversion历史记录中的信息。
否则,历史记录将丢失,您只需从头开始。
如果你有备份(例如服务器上SVN repo文件的rsync副本),你可以通过git svn
在本地进行转换,方法是通过{{file://
将其指向本地SVN repo副本。 1}} URL,不先进行特殊的SVN服务器设置。