SVN到Git的一键迁移脚本(保留所有分支、Tag及提交记录)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SVN到Git的一键迁移脚本(保留所有分支、Tag及提交记录)相关的知识,希望对你有一定的参考价值。

参考技术A

注意:
1、由于用到grep、sort、awk,因此在Windows环境中需要在bash中运行,如果没有的话先安装Git即可;
2、需要安装svn的命令号工具,如果没有的话需要安装下:

在SVN中,每一个人提交时都需要在系统中有一个用户,它会被记录在提交信息内。如果想要将SVN用户映射到一个更好的Git作者数据中,你需要一个SVN用户到Git用户的映射。参考《 一键获取所有SVN提交作者用户名的列表 》获取所有SVN提交作者,参考下面的格式建立authors.txt文件:

保存到与authors.txt同一目录,并且修改里面的SVN地址。

在终端下(windows在bash下),切换到 svn2git.sh 所在的目录,执行: sh ./svn2git.sh 。 执行需要比较久的时间,需要耐心等待 ^o^ 。转换完成后,转换结果在当前目录下的svn2git。

参考:
http://www.meilongkui.com/archives/1965

以上是关于SVN到Git的一键迁移脚本(保留所有分支、Tag及提交记录)的主要内容,如果未能解决你的问题,请参考以下文章

SVN完美迁移到GIT

将特定的 SVN 分支迁移到 GIT(2018 年迁移的主干)

将 svn 迁移到 git,分支名称中有空格

将特定文件夹从 SVN 迁移到 Git

从零开始的Devops-临时快速实现

gitlab项目迁移保留所有历史记录,分支