SVN仓库迁移至Git,保留所有分支和历史提交记录(只迁移库,不迁移账号)

时间:2024-03-21 15:07:04

之前写了一篇迁移所有记录包括账号的,可查看上一篇 SVN仓库迁移至Git,保留commit提交记录

1.背景:     

公司现在项目越来越多,加之SVN的集中式管理,不支持分布式,分支切换麻烦,Git支持分布式开发,快照式数据,速度快,主干分支切换方便等优点。为了以后版本库的规范管理,并跟上业界主流版本管理技术,提高大家的开发效率。和领导商议后,决定把公司SVN版本库迁移至Git。

2.迁移准备:

服务器安装git,gitlab或者gogs

本地安装git。

3.迁移

3.1 从SVN拉取代码到本地并创建本地git仓库

    git svn clone   svnurl

    输入命令后需要登录本地计算机账户,输入密码就好

    SVN仓库迁移至Git,保留所有分支和历史提交记录(只迁移库,不迁移账号)

接下来需要登录git账户

SVN仓库迁移至Git,保留所有分支和历史提交记录(只迁移库,不迁移账号)

3.2 拉取代码完毕,进入本地项目代码库目录

cd WX

SVN仓库迁移至Git,保留所有分支和历史提交记录(只迁移库,不迁移账号)

3.3 关联远程仓库

    git remote add origin  http://192.168.4.203:3000/dexhin/WX.git 或者

    git remote add origin [email protected]:dexhin/WX.git

SVN仓库迁移至Git,保留所有分支和历史提交记录(只迁移库,不迁移账号)

3.4 在gitlab/gogs新建仓库 保证仓库为新建,没有任何提交

3.5 提交所有commit ,branch 到远程仓库

      git push -u origin master

SVN仓库迁移至Git,保留所有分支和历史提交记录(只迁移库,不迁移账号)

3.6 登录打开gogs,可以看到项目版本库所有信息和提交记录

SVN仓库迁移至Git,保留所有分支和历史提交记录(只迁移库,不迁移账号)

注:在3.5步  git push -u origin master 命令后,可能要去输入git用户密码,按提示输入就好。如下图:

SVN仓库迁移至Git,保留所有分支和历史提交记录(只迁移库,不迁移账号)

输入git密码:

SVN仓库迁移至Git,保留所有分支和历史提交记录(只迁移库,不迁移账号)

推送完毕:

SVN仓库迁移至Git,保留所有分支和历史提交记录(只迁移库,不迁移账号)