SVN迁移至Git

SVN版本控制器代码迁移至Git仓库

获取svn帐号在git中的映射,使用如下命令,帐号映射保存在user.txt文件中

svn log svn仓库地址 -q | awk -F ‘|’ ‘/^r/ {sub("^ “, “”, $2); sub(” $", “”, $2); print $2"="$2" <"$2"@163.com>"}’ | sort -u > ./user.txt

使用git svn clone迁移svn仓库(保留提交记录)

git svn clone svn项目仓库地址 -r 76896:HEAD --no-metadata --authors-file=./user.txt --trunk=svnproject --branches=svnbranch --tags==svntags --no-minimize-url git仓库名称

clone命令可以指定很多参数,主要用到这些,你也可以使用git svn help查看完整的参数列表

-r指定要clone的起止版本号。
–no-metadata阻止git导出SVN包含的一些无用信息。
–authors-file必须指定svn帐号在git中的映射。
–trunk指定导出仓库的主干项目路径。
–branches指定svn的分支项目路径。
–tags指定svn的标签路径
–no-minimize-url意思是不缩小输入地址,出现Using higher level of URL: https://xxxxxxx/branch/android/project1 => https://xxxxxxxx/branch/android 错误时可以使用此命令

注意:clone命令需要管理员权限,否则会遇到下面的异常:

couldn’t truncate file … at line xxxx. 你要做的就是右键使用管理员身份运行CMD,然后使用fatch继续执行导出。
git svn fatch -r xxxx:HEAD --authors-file=user.txt

到此迁移已经完成,接下来添加git远程地址,push到远程仓库

添加远程地址:git remote add origin xxx仓库地址
推送到远程仓库:git push -u origin master

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值