svn 项目迁移到 git , 保留历史提交记录

本博主在把公司的老项目从svn 迁移到 git 的时候,遇到了一些问题,下面记录迁移项目的过程。

1、注意不要在已经从svn 拉取的项目目录进行操作,否则在后面进行 git log , 看不到提交记录;新建一个迁移目录 Test。

2、在迁移目录里面新建 users.txt 文件, 里面记录着 svn账号和git 账号的映射关系

svn 账号=git 账号<账号名称@mail.com>

举例: abc=abc<abc@mail.com>

testName=testName<testName@mail.com>

3、进入到 Test 目录,然后执行下面的命令(projectname 是项目名字,自行替换svn项目地址和projectname):

git svn clone svn项目地址  --no-metadata --authors-file=users.txt projectname

4、进入到 projectname 目录, 添加git 仓库,执行命令:

git remote add origin ssh://xxx.xxx.xxx.xxx:root/projectname.git

5、检查一下在gerrit 上配置的权限,开放 Push、Forget Author Identity、Forget Committer Identity等权限。

6、提交到gerrit , 执行命令:    git push -u origin master 或者  git push -f origin master

注意 git push -f origin master 是指把本地的强制提交 到远程,会把远程的覆盖掉。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值