SVN项目迁移到Git,并同步提交记录

需求:公司项目之前一直维护在SVN上,因为有正式、测试环境区分,代码在测试阶段需要提交到SVN,并部署在测试环境,然而同时相关模块代码又需要正式环境更新,所以会造成测试代码携带到了正式环境,因为测试代码存在一定bug或还未经过测试发现,所以不能进行升级。然后想到了创建一个代码分支,专门用于防止测试代码,测试完成后再合并到正式代码分支,然而SVN对分支操作并不友好,完全是另一个目录,所以需要使用Git去控制,所以需要替换为Git,然后首先要做的就是同步SVN的提交记录,这样才能保证历史版本可追溯。

1.SVN代码和提交记录迁移到Git

创建一个空文件夹,用来存放SVN上迁移过来的代码


clipboard.png

在该目录打开git命令窗,执行clone命令开始迁移,命令如下:

git svn clone https://192.168.1.100/svn/tps/tpsBranch

clipboard1.png

这里需要选择是否接受证书验证,输入t(接受)

clipboard2.png

然后提供SVN验证信息,输入SVN账号密码即可

clipboard3.png

出现如下日志,表示代码开始迁移,因为它是一条条提交记录迁移的,所以迁移时间要看代码提交记录有多少,这里我的项目从15年维护到2022年,有6000多次提交,足足等待了有四个小时

clipboard4.png

迁移完成后如下:

clipboard5.png

这就表示迁移成功了,查看项目目录:.git已经生成

clipboard6.png

2.查看git提交记录

现在要想看以前的提交记录是否迁移过来的话, 我们就需要在命令行里进入的本地仓库根目录中(也就是带有.git的目录), 进入之后输入git log, 就可以看到以前的提交记录了。(按Q退出)

clipboard7.png

3.添加Git远程URL

git remote add origin git@gitee.com:outsideasy/tps-crm.git

clipboard8.png

如果远程仓库是空的就可以直接执行第4步(最好是空的),如果不是空的拉取代码时起来会遇上一些麻烦,更新时会遇到一些错误,这里我只记录主要命令,解决错误过程都是Git的操作,就不再赘述。

git pull --rebase origin master

clipboard9.png

4.推送代码到Git

git push origin master

clipboard10.png

以上就是SVN代码迁移到Git的所有步骤了,总结来看,第一步是迁移的核心,后续操作都是Git操作。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,923评论 18 139
  • 8月24日 今日阅读内容: 正文第13-14章节P75-91 结合今日阅读内容思考下列问题并任选回答或写下自己的其...
    夏媞阅读 369评论 0 0
  • 用到的组件 1、通过CocoaPods安装 2、第三方类库安装 3、第三方服务 友盟社会化分享组件 友盟用户反馈 ...
    SunnyLeong阅读 14,695评论 1 180
  • 版本控制 概述 在软件开发过程,每天都会产生新的代码,代码合并的过程中可能会出现如下问题: 代码被覆盖或丢失 代码...
    isuntong阅读 271评论 0 0
  • 本片内容转自CSDN http://blog.csdn.net/ithomer/article/details/7...
    五娃儿阅读 4,956评论 2 88