工作总结(十二)——迁移svn单项目到gitlab上,保留历史提交记录
文章目录
- 前言
- 一、目的
- 二、操作步骤
- 1.创建项目库
- 2.复制历史提交者账号
- 3.复制待迁移项目以及历史记录
- 4.push到gitlab远程仓库
- 总结
前言
本系列文章主要记录工作中一些需要记录的内容
一、目的
因为一些原因,我需要将svn库上的某个项目迁移到公司的gitlab库管理平台上,本文章就是记录操作过程,方便以后遇到同样的问题直接处理
二、操作步骤
1.创建项目库
登录gitlab网页版,创建一个空白的项目库,如下图所示,点击创建仓库就行,不要初始化库
然后等待创建成功,复制空白库的地址
2.复制历史提交者账号
1.通过svn在磁盘任意位置检出要迁移到gitlab中的项目(本地已有的话就不用了)
2.找到项目所在目录,右键执行git bash here,打开git命令控制台,输入如下命令
svn log --xml --quiet | grep author | sort -u | \
perl -pe 's/.*>(.*?)<.*/$1 = /'
3.执行完后,将会输出待迁移项目的历史提交人的信息,新建svn_user_convert.txt文件,将历史提交人的信息拷贝到这个文件中,格式如下
名字 = 名字<邮箱号>
zhangxiaonan = zhangxiaonan <zhangxiaonann@xx.com>
zhulinfeng = zhulinfeng <zhulinfeng@xx.com>
3.复制待迁移项目以及历史记录
1.重新选择一个目录,创建demo文件夹,将svn_user_convert.txt文件拷贝到这个demo目录下
2.在新目录下打开git bash here
3.在git命令控制台下输入如下内容
git svn clone svn中迁移项目的全路径 --no-metadata --authors-file svn_user_convert.txt
4.等待拷贝,因为需要拷贝历史提交记录,如果提交记录比较多,耗时就比较长,注意等待,另外控制台会显示复制的历史提交记录
4.push到gitlab远程仓库
1.进入demo文件夹,右键git bash here ,输入如下命令
git remote add origin 之前在gitlab上创建的空库的地址
git push -u origin master
2.上述两条命令执行完后,进入gitlab平台,查看历史记录,就会发现svn上的项目已经迁移到gitlab上了,且history上显示之前的历史提交记录
总结
至此,本文章结束
下一篇:暂无