svn分支协同开发流程(内附超详细流程图和解释)

6,208 阅读2分钟

开发场景

面向trunk开发

比如4人开发团队 每2人负责一个功能模块,两个功能模块在同一个项目中,此时如果4个人都是在主分支trunk上进行开发 那么必须等两个功能模块全部ok 才能上线 (操作比较简单 不进行赘述)

缺点:

  • 开发耦合性过大
  • 项目代码不易管理

面向branches开发

分支开发 对trunk进行分支开发 按照上面的逻辑 新建两个分支,2个人编辑一个分支 ,当其中一个分支开发完成 可以直接发布 另外两人开发完成后再发布

优点:

  • 减少团队作业之间的耦合性
  • 代码管理更加方便

svn使用流程

流程图

svn分支开发流程

步骤详解

开发过程

  1. 针对trunk进行 branches or tag的操作 创建新的分支 命名比如:

    20180822_test_demoproject 规则:时间_功能模块__项目名称

  2. 将新建的分支 checkout 至本地

  3. 开发新的功能 并做本地测试 (这个过程会有多次commit)

  4. 本地测试完成 将代码提交到svn 对应的branches上面

  5. 在beta服务器上面进行发布branches的代码并进行测试

准备发布过程(同步trunk)

在开发过程中 trunk可能已经被别的小组修改 所以此时需要同步trunk代码

  1. 使用本地branches作为工作空间 merge from trunk 将trunk上面新增的代码 merge到本地 (此时本地branches中的代码是最完整的)
  2. 将新增的代码 提交至svn branches (此时可以进行一次beta上面的回归测试)

review代码 发布

此时如何进行代码的review是一个问题 比如在3的步骤中 进行了多次提交 开发者已经不知道在开发新功能的时候提交了哪些代码 此时如果贸然进行发布 可能会出现一些意想不到的情况 比如修改了配置文件 没有修改回来 会导致线上出现很大的问题, 那么如何进行代码的review请看下面的步骤

  1. 将svn trunk上的代码checkout至本地 merge from svn branches 此时相当于将branches中的这个功能模块所有的新增或者修改的代码 merge到了本地的trunk上面
  2. 此时进行commit 在提交之前 一定记得仔细review每一个提交的代码文件 是否正确 review完成确定没有问题再提交 这一步为重中之重!!! 不可省略,切记!

原文地址

有不足之处还望不吝赐教 欢迎关注

未经作者允许 请勿转载,谢谢 :)