对SVN的落地与实践总结

现今最为流行的Git是管理很几套很成熟的分支管理策略。而SVN确实也有,但结合现公司的实际场景还是做了些调整和变动。

一、分支命名规则

  1. 所有分支命名采用小写字母 + 数字 + 特殊符号 组成
  2. 项目分支命名以proj- + 项目名称 + tags(版本名),如:proj-jd-v1.0.0
  3. 版本(tags)以v+版本号(版本号采用三位版本策略,即:主.次.内),如:v1.0.1
  4. 修改Bug的分支以hotfix-+tags命名,如:hotfix-v1.0.1
  5. 分支、版本命名不可带年月日相关信息,此类信息可以放置于备注

二、分支管理策略

2.1 主要分支说明

  1. trunk为主干分支,所有产品或发版相关开发都在此分支上进行
  2. release:产品稳定分支,可随时发布的分支【2020-02-06增加】
  3. proj-开头的分支,用于特殊需求的客户,必须基于tags建立,原则上不允许合并到trunk分支
  4. v开头的是tags,产品发布的迭代版本,基于release产生【2020-02-06编辑】
  5. hotfix-开头的分支,用于修改相关版本的Bug,必须基于tags建立,必须能合并到trunk分支
  6. 现场部署的产品或项目必须是基于tags或hotfix开头的分支代码,不允许直接将trunk分支代码部署到现场
  7. hotfix和trunk分支在有条件的情况下可以合并到proj分支,但必须在相关管理人员审核的情况下实施

2.2 分支结构图【2020-02-06编辑】

 

三、与项目/产品的接合

1. 每次提交都必须有备注,备注以列表形式编写,如:

     1. 修改员工管理功能查询报SQL报错的Bug

     2. 添加员工功能增加Sex(性别)属性

2. 产品或项目的share文件夹下的branch.md存放所有相关分支/版本信息,如:

分支/版本名称 | 备注

- - - | - - -

trunk | 主干分支

proj-jd-v1.0.0 | 只提供给jd特殊使用的分支

v1.0.0 | 于2017-10-09号发布的迭代版本

hotfix-v1.0.0 | 修复v1.0.0相关Bug的分支

3. 新建分支前,必须先到share/branch.md中确认是否已存在相关分支

4. 发布tags时,必须要包含数据库变更脚本、功能清单两个文档

5. release分支,由产品负责人,从trunk分支合入,再发布到测试环境,测试通过后,发布tags【2020-02-06增加】

 

posted @ 2019-03-09 13:02  小龙女先生  阅读(400)  评论(2编辑  收藏  举报