各种原因我们可能会遇到迁移svn到git的情况,下面介绍迁移的过程
1、安装 git-svn
yum -y install git-svn
2、建立svn账号和git账号的映射关系
创建一个文件users.txt 内容如下
zhangsan=zhangsan<[email protected]>
jerry=jerry<[email protected]>
tom=tom<[email protected]>
3、将svn仓库中的内容转换为git仓库的内容
git svn clone http://svn.test.com/repos/erp/code/branch/mail --no-metadata --authors-file=users.txt mail_back
如果仓库历史悠久则执行时间会比较长,如果在svn服务器上操作可以将域名换成 127.0.0.1或localhost 会加快执行速度。命令的语法比较丰富,请参考其他文档。
执行完这个命令后会自动在当前路径创建一个本地的git仓库 mail_back,这就完成了svn仓库到本地git仓库的转换
下面介绍git仓库的推送
4、在远程git中创建仓库 mail_back
如果是github、gitlib、gogs,可以在web管理界面在后台创建一个仓库,也可以使用命令创建一个远程仓库,这里就不介绍了
5、关联git远程仓库
cd mail_back
git remote add origin http://git.test.com/erp/mail_back.git
git remote -v 查看关联情况,该命令会显示git推拉的git远程仓库地址
如果关联有误可以删除关联 git remote rm origin
6、push至远程git仓库
git push -u origin master
$ git push -u origin master
Enumerating objects: 1745, done.
Counting objects: 100% (1745/1745), done.
Delta compression using up to 4 threads.
Compressing objects: 100% (1492/1492), done.
Writing objects: 100% (1745/1745), 415.73 KiB | 1.46 MiB/s, done.
Total 1745 (delta 910), reused 0 (delta 0)
remote: 处理 delta 中: 100% (910/910), 完成.
To http://git.test.com/erp/mail_back.git
* [new branch] master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.
如果这条命令顺利执行成功,那么在远程git仓库就能看到提交的内容。
如果命令提交失败,可以把整个本地仓库目录打包下来,到其他电脑上执行提交操作,比如可以在windows下使用gitbash进行提交。
本文内容到此结束。