现今最为流行的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. proj-开头的分支,用于特殊需求的客户,必须基于tags建立,原则上不允许合并到trunk分支
  3. v开头的是tags,产品发布的迭代版本
  4. hotfix-开头的分支,用于修改相关版本的Bug,必须基于tags建立,必须能合并到trunk分支
  5. 现场部署的产品或项目必须是基于tags或hotfix开头的分支代码,不允许直接将trunk分支代码部署到现场
  6. hotfix和trunk分支在有条件的情况下可以合并到proj分支,但必须在相关管理人员审核的情况下实施

2.2 分支结构图

三、与项目/产品的接合

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时,必须要包含数据库变更脚本、功能清单两个文档

对SVN的落地与实践总结的更多相关文章

  1. SVN版本控制系统最佳实践

    第1章SVN介绍及应用场景 1.1什么是SVN(Subversion) Svn(subversion)是近年来崛起非常优秀的版本管理工具,与CVS管理工具一样,SVN是一个跨平台的开源的版本控制系统. ...

  2. 跨国合作:Serverless Components 在腾讯云的落地和实践

    导语 | Serverless Components 是 Serverless Framework 推出的最新解决⽅案,具有基础设施编排能⼒,开发者通过使⽤ Serverless Components ...

  3. 百胜中国使用Rainbond实现云原生落地的实践

    百胜中国使用Rainbond实现云原生落地的实践 关于百胜中国 自从1987年第一家餐厅开业以来,截至2021年第二季度,百胜中国在中国大陆的足迹遍布所有省市自治区,在1500多座城镇经营着11023 ...

  4. 生产环境容器落地最佳实践 --JFrog 内部K8s落地旅程

    引言 Kubernetes已经成为市场上事实上领先的编配工具,不仅对技术公司如此,对所有公司都是如此,因为它允许您快速且可预测地部署应用程序.动态地伸缩应用程序.无缝地推出新特性,同时有效地利用硬件资 ...

  5. 前端如何真正晋级成全栈:腾讯 Serverless 前端落地与实践

    Serverless 是当下炙手可热的技术,被认为是云计算发展的未来方向,拥有免运维.降低开发成本.按需自动扩展等诸多优点.尤其是在前端研发领域,使用 Node 开发云函数,可以让前端工程师更加专注于 ...

  6. Kubernetes 在网易云中的落地优化实践

    本文来自网易云社区 今天我跟大家讲的是 Kubernetes 在网易的一些实践,目的是抛砖引玉,看看大家在这个方向有没有更好的实践方法.简单介绍一下网易云.网易云是从最早 Kubernetes 1.0 ...

  7. SVN迁移到Gitlab实践经历

    svn 迁移至git操作手册 项目交付.版本管理工具变更等情况下,迁移svn旧历史记录有很大必要,方便后续追踪文件的提交历史,文件修改记录比对等.git自带了从svn迁移至git的工具命令,可很好的对 ...

  8. 聚焦AI实践,2019 A2M峰会将在上海举行!

    18年,BERT重磅发布,刷新了很多NLP的任务的最好性能:KENSHO等智能化应用的成功应用,让知识图谱在证券行业的建设思路和应用实践成为业内较为关注的问题:强化学习也在与人类的对战游戏中独领风骚: ...

  9. 测试环境docker化—容器集群编排实践

    本文来自网易云社区 作者:孙婷婷 背景 在前文<测试环境docker化-基于ndp部署模式的docker基础镜像制作>中已经详述了docker镜像制作及模块部署的过程,按照上述做法已可以搭 ...

随机推荐

  1. ws-trust、域、webservice接口的总结

    最近燃料公司门户做了一个待办的汇总,从三个数据源拿数据汇总到首页,这三个数据源分别是域认证的接口,域认证的webservices,证书加密的接口,下面就这些接口,做一下简单总结 1 pfx证书的探索过 ...

  2. Angular路由——路由守卫

    一.路由守卫 当用户满足一定条件才被允许进入或者离开一个路由. 路由守卫场景: 只有当用户登录并拥有某些权限的时候才能进入某些路由. 一个由多个表单组成的向导,例如注册流程,用户只有在当前路由的组件中 ...

  3. 百度搜索(jsonp)

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>百 ...

  4. Linux下的磁盘分区和逻辑卷

    一.硬盘接口类型 硬盘的接口主要有IDE.SATA.SCSI .SAS和光纤通道等五种类型.其中IDE和SATA接口硬盘多用于家用产品中,也有部分应用于服务器,SATA是一种新生的硬盘接口类型,已经取 ...

  5. 基于支付系统真实场景的分布式事务解决方案效果演示: http://www.iqiyi.com/w_19rsveqlhh.html

    基于支付系统真实场景的分布式事务解决方案效果演示:http://www.iqiyi.com/w_19rsveqlhh.html

  6. PAT1107:Social Clusters

    1107. Social Clusters (30) 时间限制 1000 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue When ...

  7. springboot+activemq中引入重发机制

    一.简介 在使用activemq消息中间件进行消息队列传输时,总会由于各种原因导致消息失败. 一个经典的场景是一个生成者向Queue中发消息,里面包含了一组邮件地址和邮件内容.而消费者从Queue中将 ...

  8. YII框架视图模块化

    在实际项目开发中,有很多地方我们在不同页面我们会重复利用它,如菜单栏... 下面是将这类型进行模块化处理,使其能在不同页面中重复利用... 案例: 效果图如下: 1.在YII中的路径如下: 2.在le ...

  9. LINUX PID 1和SYSTEMD 专题

    Linux下有3个特殊的进程,idle进程(PID = 0), init进程(PID = 1)和kthreadd(PID = 2) idle进程其pid=0,其前身是系统创建的第一个进程,也是唯一一个 ...

  10. 我们的java基础到底有多差 一个视频引发的感想

    以此文来警示自己. 大三要结束了. 我从大一下学期开始接触java,两年半了,期间有很努力的自学,也参与了一下项目,满以为自己的java基础应该不错,但今天在网上看了一个视频才发现自己学的是多么的&q ...