目录
SVN和Git都是优秀的版本管理工具。不幸的是,对于从SVN迁移到Git的过程、命令和说明,网上不少文章存在误导性。因此本文以Gitea为例,演示从SVN迁移到Git的详细过程。
本文前提条件:
- 已经完成Gitea安装(含Git软件安装)
- 在Gitea中,已完成了初始配置并正常运行
- 在Gitea中,根据需要配置Organization、Teams、User Accounts等组织协作信息(可选)
- 在Gitea中,已经创建Repository(这里名字为:gsyspm,无需对该Repository初始化)
环境信息
在以上git Repository创建完成且未被初始化的情况下,需要从原SVN仓库迁移导入至Git,包括在SVN的提交Commit 和作者log日志。需要导出的SVN信息:
- SVN仓根URL:http://20.1.1.11:7001/usvn/svn/sys_pm
- SVN仓中trunk相对于根的路径:pmis/01develop/02code/trunk
- SVN仓中branches相对于根的路径:pmis/01develop/02code/branches
- SVN仓中没有Tags信息
- 需要迁移的SVN版本号范围:从1至HEAD
迁移步骤
以下步骤通过git svn命令完成从SVN至Git的迁移:
1、在任意PC电脑上(能够访问SVN和Gitea)创建迁移临时用目录:migrate_svn_to_git/
2、进入该目录。创建文本authors_map.txt,存放SVN作者至Git作者映射信息文件,格式形式如下:
loginname=JoeUser<user@example.com> |
或者可通过以下方式自动生成该作者映射文件。