0%

Git svn项目转移到git

Git svn项目转移到git

git-svn用于Git和SVN的转换,可以把Git仓库迁移成SVN仓库,反之亦可

安装git-svn

1
$ yum install -y git-svn

创建一个空目录

1
2
3
$ mkdir /opt/git

$ cd /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
2
$ cd svn_repo
$ git remote add origin /the/path/of/git/repo

用git push命令推送全部的分支和标签信息到git服务器上面

1
$ git push origin master --tags

登录到gitlab/github,查看更改记录是否存在.

处无为之事,行不言之教;作而弗始,生而弗有,为而弗恃,功成不居!

欢迎关注我的其它发布渠道