【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历史记录》,传送门,使用“二”中的方案。

正文:

     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 

原文地址:https://www.cnblogs.com/ylhssn/p/15458735.html