svn 分支_SVN开发模式-集中式

很多情况下我们使用SVN只是把它当作了一个备份工具或者文件代码仓库,在需要的时候将开发好的代码或者文件上传一次,以保证其不丢失,然而SVN的功能不仅仅是这些,SVN除了版本控制以外,最大的作用是多人协同开发同一个项目。

SVN的三个目录

标准SVN有三个目录,而所有的操作也是围绕着这三个目录进行的,理解了这三个目录的作用,也就了解了SVN的工作方式。

我们已Coding为例,新建一个标准的SVN仓库后,会出现三个目录:

ab22ac16383ff67bcfa12fac1d007bc4.png
  • Trunk:主干,主线开发目录,也就是主线开发过程中所有的代码等都存放在这个目录下。
  • Branches:分支,一般用在Bug修复、新特性开发时,从主干切换到分支目录下。
  • Tags:标签,主干存档用,也就是发布的版本,或者测试没有问题的版本。

集中式开发过程

我们以一个嵌入式软件开发项目为例,当硬件完成后准备开始软件开发,软件开发小组有两个人A和B组成,程序员A创建了基于硬件的程序框架比如基于FreeRTOS的程序框架,确保能在硬件跑起来后,提交第一个主干版本Version N,此时代码在Trunk目录下。程序员B从主干版本中切出一个分支Version 0(代码位于Branches目录下),与程序员A同时并行开发不同的任务,程序员A开发完成,提交版本Version N+1,测试没问题后,冻结代码并Tag A(代码位于Tags目录下),程序员B开发分支Version 1完成,和版本Version N+1合并到主干,形成Version N+2。

之后程序员A可以在主干上继续开发新的特性,如果这时候发现Tag A存在一个Bug需要修复,从Tags目录下切出一个分支,修复完Bug后,可以直接再打个tags,或者合并到主干,等待下次与主干功能一起打tags。

16c4738f5da18639ab944ed7134daeeb.png

关于测试

代码开发过程其实很好管控,但是如何和测试结合呢?一般情况下我们开发完成代码后,自检代码没有问题,直接打一个Tags,此时测试人员从Tags中取代码,而不是从Trunk中取,开发人员继续主干代码开发,测试人员测试完Tags的代码后,提交Bug给开发人员,开发人员从Tag中切除分支,并修改Bug,修复完成后,可以在原来的版本上再次打Tags,也可以直接合并到主干,等待下次打Tag,却决于这个Bug的类型。

其他

844ed29993474d4ef508396bd1308d33.png

SVN的开发方式有很多,多人多模块开发时适合用这种代码管理工具比如SVN或者Git,能够有效的管理代码,协同开发,不同的开发团队要摸索出适合自己的开发方式,高效、便捷是我们使用SVN或者Git最终的目的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值