SVN代码迁移到Gitlab 保留提交记录

原文地址:https://blog.51cto.com/riverxyz/4041824

操作步骤(centos):

1、在gitlab服务器安装git、git-svn命令

# 查看yum中可安装的git/git-svn版本
yum info git
yum info git-svn

# 安装git/git-svn
yum install git
yum install git-svn

2、下载svn trunk代码到指定目录

# 创建/home/code目录
mkdir /home/code
#进入code目录
cd /home/code
# 执行clone命令
git svn clone --stdlayout --no-metadata --trunk=/ --tags=tags --branches=branches svn://192.168.0.1/xxx xxx
# 回车之后会要求输入svn root密码 如果没有root密码继续回车 输入你的svn账号和密码就开始下载了

其中参数

  • no-metadata表示忽略svn无用的信息
  • trunk表示主干
  • branches表示分支
  • xxx表示需要迁移的项目

3、在gitlab上创建一个空白项目

此步骤忽略自行创建

4、上传代码

# 进入刚刚下载的需要迁移的项目目录进行提交
cd /home/code/xxx
# 添加git远程仓库地址
git remote add origin http://127.0.0.1/root/xxx.git
# push代码到远程仓库
git push -u origin master

5、验证结果

登录gitlab找到刚刚创建的项目,查看代码提交历史记录。

其它情况

windows中安装的git也支持git-svn功能,但是我尝试在windows系统上操作时,会出现如下错误,在网上未找到解决办法。如果有可以解决该问题的还望不吝赐教。
svn-remote.svn: remote ref '\dev\Git\dev\Git;refs\remotes\origin\trunk' must start with 'refs/'

posted @ 2022-09-14 12:49  张双健  阅读(291)  评论(0编辑  收藏  举报