【SVN->GIT】项目仓库迁移,保留commit历史已录
需求:
window系统下,将svn仓库上的项目迁移至Git仓库上,并保留commit历史已录。
前提:
1、工具版本信息: svn版本 TortoiseSVN 1.13.1, Build 28686 - 64 Bit,GIT版本 2.33.1.window.1
2、学习《svn迁移到git仓库并保留commit历史记录》,传送门,使用“二”中的方案。
推荐:https://www.bilibili.com/read/cv16669772
正文:
1、确认系统中安装的git是否支持,git-svn,低版本git中可能不支持,在Ubuntu中git-svn是作为一个独立的Package需要额外安装的。window系统下可以直接安装我用的git版本,经测可用,无需安装。
Linux中安装命令:sudo apt-get install git-svn 环境变量配置: 将/usr/lib/git-core配置到你的PATH环境变量中。
2、按文章进行一下几步操作
1)svn账号与git账号映射,user.txt
svn账号=git账号名称<username@mail.com>
2)svn转换为git
git svn clone svn://ip端口/projectname --no-metadata --authors-file=user.txt --trunk=trunk projectname cd projectname
or
git svn clone http://ip端口/projectname --authors-file=user.txt --trunk=trunk projectname cd projectname
ps:未搞懂 --no-metadata 参数作用,未使用; user.txt 放置在git base here 所选目录下即可
运行效果:
接下来交给时间,一直等,知道clone结束
3)添加git仓库
git remote add origin http://ip端口号/r/virtualSceneICV.git
4)提交到git
git push -u origin master
ps:
若因仓库信息填写有误,二次修改执行后再进行push时会报错
解决如下:
1)git remote rm origin
2)git remote add origin ...
3)git push origin master
3、迁移前后效果对比
svn
git