SVN项目迁移到git(保留commit记录)

准备工作:安装git-svn工具(linux:yum install git-svn)

1、克隆svn项目代码到当前目录

svn checkout  http://192.168.10.65/xxx  ./  --username yyy --password

cd xxx

2、查看svn提交记录的作者

svn log --xml | grep author | sort -u | perl -pe 's/.>(.?)<./$1 = /'

输出如下:

<author>peijianbo</author>

<author>wangping</author>

3、当前目录下手动创建users.txt文件并编辑内容如下,将svn上的提交作者映射到git

peijianbo = peijianbo <peijianbo@163.com>

wangping = wangping <wangping@163.com>

这一步可能会有坑,有些教程直接将第二步结果重定向到users.txt文件(命令:svn log --xml | grep author | sort -u | perl -pe 's/.>(.?)<./$1 = /' > users.txt),修改文件做好映射关系后,再继续执行第四步时报错(Author: xxx not defined in users.txt file),原因应该是文件编码的问题。后来尝试手动创建users.txt才成功。

4、在当前svn项目目录下创建xxx-git项目,并指定authors-file

git svn clone http://192.168.10.65/xxx  --no-metadata --authors-file=users.txt  xxx-git

参数有很多可选项,根据需求可参考git文档自行选择,如保留分支,tag。

5、将xxx-git项目推送到远程仓库

cd xxx-git

git remote add origin http://192.168.10.66/xxx.git

git push origin master:master

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值