SVN迁移gitlab

公司一直用SVN,现在要迁移到gitlab上面,要求保留SVN上的提交记录。

可以迁移SVN的日志和分支

一、下载安装git,并汉化。三个安装包。

二、账号对应

SVN使用的是用户账号展示的提交记录,但是git使用的是账号和邮箱进行人员确认的,因此我们需要使用将二者进行对应。

安装后右键,选择Git BASH Here。


选择Git BASH Here

执行如下命令,这是使用的Linux的awk命令导出的svn账号信息格式化的,当然我这里用的是163邮箱,你可以自定义邮箱,打开看下是不是和上面的文本内容格式是一致的。

svn log 你的SVN项目的url  -q | awk -F '|' '/^r/ {sub("^ ", "", $2); sub(" $", "", $2); print $2"="$2" <"$2"@163.com>"}' | sort -u > ./svn2git.txt
导出SVN的用户

接下来使用git-svn拉取你的SVN项目

git svn clone "你的SVN项目的url" --no-metadata --authors-file="./svn2git.txt"  -s  你自定义的项目名
-s:为svn把分支转换为git
迁移SVN,转换成git

使用 git branch -a 可以查看本地分支和远程分支情况

把红色的变成本地分支:

$ cp -Rf .git/refs/remotes/tags/* .git/refs/tags/
$ rm -Rf .git/refs/remotes/tags 

$ cp -Rf .git/refs/remotes/* .git/refs/heads/
$ rm -Rf .git/refs/remotes

提交项目到gitlab,新建一个项目

新建一个项目

复制克隆地址

复制克隆地址

在SVN已经转换好gitlab的文件下,右键选择

右键选择

推送所有分支

以上步骤就可以完成SVN迁移gitlab

对你有帮助,点个赞,如有不懂,可以私信。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容