从Ubuntu的SVN切换到GitLab,可参考以下步骤:
git-svn
工具,用于将SVN仓库转换为Git仓库,命令为sudo apt-get install git-svn
。svn账号=GitLab账号<邮箱>
,保存为users.txt
文件,可通过命令svn log SVN项目的url -q | awk -F '|' '/^r/ {sub("^ ", "", $2); sub(" $", "", $2); print $2"="$2" <"$2"@example.com>"}' | sort -u > users.txt
生成。git svn clone
命令将SVN仓库克隆为Git仓库,如git svn clone svn://SVN项目地址 --no-metadata --authors-file=users.txt 本地项目目录
。git remote add origin GitLab仓库地址
添加GitLab远程仓库。git push -u origin master
将代码推送到GitLab,若有分支和标签,可分别使用git push origin --all
和git push origin --tags
推送。若要保留SVN历史记录,建议采用上述方法;若不需要历史记录,可直接在GitLab上创建新仓库,将SVN代码文件复制粘贴到新仓库目录后推送,但此方法会丢失提交历史等信息。