Git svn项目转移到git
git-svn用于Git和SVN的转换,可以把Git仓库迁移成SVN仓库,反之亦可
安装git-svn
1 | $ yum install -y git-svn |
创建一个空目录
1 | $ mkdir /opt/git |
创建svn用户和git用户对应表
vim userinfo.txt
格式如下
svn用户=git用户<邮箱地址>
例如
1 | Linus=Linus<linus@linux.com> |
导出 svn 工程
1 | $ git svn clone /the/path/of/svn/repo --authors-file=userinfo.txt |
如果出现
Author: XX not defined in userinfo.txt file
那就在userinfo.txt里面添加一个XX用户
重新执行git svn clone命令
其中userinfo.txt的内容可以通过下面的命令获得:
1 | cat log.txt | awk -F '|' '{print $2}' | sort -u | awk '/./{print}' |awk '{print $1 " " $1 " <" $1"@mail>"}' > users.txt |
其中log.txt为svn log的内容
上传到 git 服务器
1 | $ cd svn_repo |
用git push命令推送全部的分支和标签信息到git服务器上面
1 | $ git push origin master --tags |
登录到gitlab/github,查看更改记录是否存在.