svn迁移到git仓库并保留commit历史记录
最近在做svn迁移到gitlab,由于之前一直是由svn做版本控制。最简单的方式是将svn的内容export出来,然后添加到gitlab即可。但是,如果svn用的时间很长了,而且很多commit,我们希望保存svn commit的信息以便做版本的控制和比较。幸好git提供了相应的解决办法。
前提
- 已安装git
- 已安装gitlab
迁移
1.环境准备:
yum install -y git-svn
2.svn账号与git账号映射,users.txt
svn账号=git账号名称
3.svn转换为git
git svn clone svn://ip端口/projectname --no-metadata --authors-file=users.txt --trunk=trunk projectnamecd projectname
4.添加git仓库
git remote add origin git@xxx.xxx.xxx.xxx:root/projectname.git
5.提交到gitlab
git push -u origin master
参考文档:
- http://blog.163.com/pjt_ren/blog/static/188250602013101102615844/
- http://www.lovelucy.info/codebase-from-svn-to-git-migration-keep-commit-history.html