本博主在把公司的老项目从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 是指把本地的强制提交 到远程,会把远程的覆盖掉。