背景:我们组面对的产品比较多,因此在SVN上一直占都是排名top5。最近,公司SVN服务器空间告急,加之组里又有人上传了大量的APK到SVN,因此,我们被要求从SVN上迁移到有更大空间的GIT上。
本来是想用svn2git这个工具的,但是使用过程中遇到各种环境的问题,因此放弃了。最后用git svn命令完成迁移,特此记录下来,方便日后使用。具体方法如下:
首先,安装git,svn客户端,我用的git是
msysgit.
安装好后,打开客户端命令行,在本地创建一个新的git仓库:
-
$ git svn init https://svnaddr.test.com/svn/filedir
init后面跟的是SVN的地址,可以指定到一个目录或整个SVN工程
从SVN获取数据
这个过程可能会比较长,看要下载的内容大小。
等下载完成后(SVN仓库克隆到本地)就要吧把内容推向git服务端了
在这步,可能会遇到RA layer request failed错误, 若出现这个错误,在windows的"运行"下输入%APPDATA%\Subversion, 回车,进入SVN的数据目录,然后把整个auth目录删除,即清空了在本地保留的svn密码.然后再重新git svn fetch
-
$ git remote add origin git@gittest.com:test/mobile.git
origin后面跟的是你的git地址
最后:
-
$ git push -u origin master
至此,SVN https://svnaddr.test.com/svn/filedir下的所有文件连同历史记录都上传到了git@gittest.com:test/mobile.git
还有各种参数,感兴趣的可以研究研究
阅读(263) | 评论(0) | 转发(0) |