本文参考自:Git-与其他系统-迁移到-Git。
也建议阅读之前,先看看此文章,本文主要是对里面方法的一个补充和完善,保证可用性
第一步:把之前svn的提交者的信息映射为git需要的
在本地的svn目录,执行以下命令:
svn log ^/ --xml | grep "^(.*?)<\/author>/$1 = /' > users.txt
显而易见,本方法要求主机上安装了grep,sort 和 perl.
最后得到的user.txt 是所有svn提交者的name。
在对应等号后面加上Email地址。
最终变成如下格式:
schacon=ScottChaconselse=SomeoNelse
第二步:使用svn2git来导入
在一个新的打算放置导入成功之后的git项目的目录(最后也把上一步的users.txt拷贝到此处)
前往github上面的svn2git项目,安装这个工具,能比较方便的进行svn到git的导入
执行以下命令:
svn2git svn://yourdomain.com/your/path/to/svn --username xingwang --verbose --authors users.txt
解释一下几个参数:
--username: 设定你在svn里面的用户名,方便执行svn co
--verbose: debug模式,能够了解svn2git执行了哪些命令,方便出问题的时候调试
--authors: 用来设定提交者信息,也就是上一步生成的users.txt
本文固定链接:http://www.shuizhongyueming.com/2015/06/svn-to-git/
转载时请注明本文出处(水中月明的Blog)及文章链接