You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将SVN仓库迁移至GitLab仓库?含官方文档相关操作指引

如何将SVN仓库迁移至GitLab仓库?

我经常帮团队做SVN到GitLab的迁移,这里把实操步骤整理出来,你可以照着来:

第一步:创建GitLab空项目

首先得在GitLab上建一个完全空白的新项目,用来作为SVN仓库的镜像目标。别初始化README、LICENSE这些文件,保持空状态,避免后续迁移时出现冲突。

第二步:找到GitLab仓库的本地存储路径

根据你的GitLab安装方式,仓库的默认存储路径不一样:

  • 如果你用的是Omnibus安装包,默认路径是:/var/opt/gitlab/git-data/repositories/USER/REPO.git
  • 如果你是源码编译安装,默认路径是:/home/git/repositories/USER/REPO.git

这里的USER是GitLab上的用户名或组名,REPO.git是你刚创建的空项目的仓库名(注意要带.git后缀)。

第三步:设置路径变量(可选但推荐)

为了后面操作不用反复输入长路径,建议把这个路径存成环境变量:

# 针对Omnibus安装的情况
export GITLAB_REPO_PATH="/var/opt/gitlab/git-data/repositories/USER/REPO.git"

# 针对源码安装的情况
export GITLAB_REPO_PATH="/home/git/repositories/USER/REPO.git"

第四步:克隆SVN并推送到GitLab

接下来要把SVN的内容转换成Git格式,再推送到GitLab仓库:

  1. 用git svn clone克隆SVN仓库(替换成你的SVN仓库地址):
git svn clone https://your-svn-repo-url --stdlayout --no-metadata git-svn-mirror

--stdlayout是针对标准SVN目录结构(trunk、branches、tags)的参数,如果你的SVN目录结构特殊,需要调整这个参数。
2. 进入克隆后的本地目录:

cd git-svn-mirror
  1. 添加GitLab仓库作为远程仓库:
git remote add gitlab $GITLAB_REPO_PATH
  1. 推送所有分支和标签到GitLab:
git push gitlab --all
git push gitlab --tags

第五步:验证迁移结果

推送完成后,回到GitLab的项目页面,检查代码、分支、标签是否都完整迁移过来了。如果有缺失,可以检查SVN克隆时的参数是否正确,或者重新推送对应内容。


内容的提问来源于stack exchange,提问作者shinzou

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 07:40:09