SVN代码迁移到Gitlab(保留SVN的提交记录)

概述
项目开发前期是用自有 SVN 进行项目管理的,开发完成后,因客户要求,需要将源码提交到客户提供的 Gitlab,故进行项目迁移。

主要步骤
1. 账号对应
2. 拉取 SVN 代码记及日志
3. 提交项目到 Gitlab 

第一步:账号对应
SVN 账号使用的是用户名称,例如:zhangsan, Git 使用的是账号和邮箱,例如:zhangsan <zhangsan@email.com>
Git 提供了 svn 账号导出命令,需要安装 Git,打开 Git Bash ,执行如下命令:
svn log 你的SVN项目的url -q | awk -F '|' '/^r/ {sub("^ ", "", $2); sub(" $", "", $2); print $2"="$2" <"$2"@email.com>"}' | sort -u > ./svn2git.txt

需要注意 @email.com 需要指定为自己邮箱后缀,./svn2git.txt 是导出的 svn 账号路径,需要提前创建好文件,文件名称自定义即可。账号导出格式如下:
zhangsan=zhangsan <zhangsan@email.com>
lisi=lisi <lisi@email.com>
wangwu=wangwu <wangwu@email.com>

第二步:拉取 SVN 代码记及日志
使用 git 内置的 git svn 工具
执行如下命令:
git svn clone 你的SVN项目的url --no-metadata --authors-file=D:/project/code/svn2git.txt 你自定义的项目名
命令执行完成后将 svn 的提交记录转换成 git 的提交记录,并在自定义的项目名目录下生成代码

第三步:将代码提交的 Gitlab
进入到 git svn 执行命令拉取到的代码目录
打开 Git Bash 执行命令:
与远程仓库建立连接:git remote add origin git仓库地址
提交代码:git push -u origin master
如果提交失败,则强制提交 git push -u origin master -f
注意:强制提交会将原 gitlab 上代码覆盖掉

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值