基本代码分支应该分为两类,一类是主要分支,包括线上主分支 Master 和开发主分支
Develop;另一类是辅助分支,包括测试分支 Release,线上紧急修复分支 Hotfix,以及功能
开发分支 Feature。
● Master 分支上的所有代码节点都必须处于可发布状态,且与线上运行的版本对应并且每一个
节点都生成了 Tag 标注了发布的版本 ID。
● Develop 分支上的代码节点代表了最新的功能开发进度,用于日常的功能开发,集成了多个新
开发的功能以及正式提测前的 bug 修复代码。
● Feature 分支用于管理功能的并行开发(命名建议为”feature-*”) ,起源于 Develop 分支,最终
也会归于 Develop 分支(要求采用--no-ff 的方式进行分支合并,以确保整个提交链的完整
性) 。
● Release 分支主要用于正式的测试并帮助构建可发布的代码(命名建议为”release-*”) ,起源于
Develop 分支,最终归于“develop”及“master”分支。正式提测后的 bug 修复必须在此分支上进
行,并且需尽量避免新功能的并入。每次当 Release 代码合并到 Master 分支时都必须反向合
并回 Develop 分支。
● Hotfix 分支用于紧急修复线上运行版本的关键 BUG(命名建议为”hotfix-*”) ,hotfix 分支基于
Master 分支创建,开发完后需要合并回 Master、Release 和 Develop 分支,同时在 Master
上打一个 Tag。

Release 和 Master 分支须受到保护,必须有固定的一到两名人员负责分支的合并操作。

提测规范
● 持续集成应用接入 QA 环境需根据线上最新版本代码做一次初始化
● 每次提交代码都需正确填写备注(功能描述) ,每次发版都要打 Tag 标签
● 提测期间有问题,基于 Release 分支修改,测试通过后基于 Release 发布
● 线上紧急 bug从 Master 拉 Hotfix 分支修改,合并至 Master 发版修复
● SA 组除 HotFix 外的发版均基于提测通过的 Release 分支

代码管理准则
● 创建分支要有计划性,尽可能的控制分支的数量
● 低版本总是积极的合并到高版本,同时注意反向合并
● 每次提交及合并的日志须完整规范,说明修改部分的意图
● 发起合并的版本务必经过冒烟自测及代码评审
● 珍惜每次提测,提测内容与修改内容相符

提交note:

[SiXing/Fix/Add/Modify][Model/Bug/Iteration]Func

Git 基本分支规范的更多相关文章

  1. 产品管理开发之Git工作流和分支规范推荐

    前言 无论是开源项目还是内部项目,使用Git都是大势所趋,尤其是在产品管理这块,使用Git大大提高了开发效率和产品的交付频率.本篇,针对Git的工作流和分支使用,进行了一些推荐. 目录 1     产 ...

  2. Git Flow 分支管理简述

    概述 Git 是什么 Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的 ...

  3. Git管理分支

    管理分支:git branch 直至现在为止,我们的项目版本库一直都是只有一个分支 master.在 git 版本库中创建分支的成本几乎为零,所以,不必吝啬多创建几个分支.下面列举一些常见的分支策略, ...

  4. Git常用命令和Git团队使用规范指南

    转自:https://wsgzao.github.io/post/git/ 前言 在2005年的某一天,Linux之父Linus Torvalds 发布了他的又一个里程碑作品——Git.它的出现改变了 ...

  5. Git设置分支保护实现CodeReview卡点

    # Git设置分支保护实现CodeReview卡点 > From:https://blog.csdn.net/crisschan/article/details/100922668 > G ...

  6. git 创建分支 并 提交到远程分支

    git branch(分支命令的使用http://hbiao68.iteye.com/blog/2055493 0.可以通过git branch -r 命令查看远端库的分支情况 1,从已有的分支创建新 ...

  7. 使用git新建分支以及管理分支

    在进行分支相关的操作前, 我们需要保持主分支干净, 所谓的干净就是没有任何改变(所有更改都已经commit 并 push),那么你可以在任何时候从你的主分支创建一个新分支. 为了方便代码管理,我们应该 ...

  8. Git入门指南十一:Git branch 分支与合并分支

    十五. Git branch 分支 查看当前有哪些branch bixiaopeng@bixiaopengtekiMacBook-Pro xmrobotium$ git branch * master ...

  9. git创建分支并提交项目

    git 创建分支, 切换分支, 合并分支, 删除分支及提交[commit提交到本地仓库push名利提交到远程服务器], 检出[pull], 冲突修改, 本地仓库同步远程服务器[pul和push命令l] ...

随机推荐

  1. python 斐波拉契数列数列

    '''斐波拉契数列'''def Fibonacci(n): first, next = 0, 1 i = 0; while i < n: print next first, next = nex ...

  2. php防止sql注入漏洞代码 && 几种常见攻击的正则表达式

    注入漏洞代码和分析                                                                                           ...

  3. ubuntu安装ssh服务记录

    执行命令: sudo apt-get install openssh-server 有时候会出现这个错误: unable to  fetch some archives ,maybe run apt- ...

  4. [Node.js]26. Level 5 : Route rendering

    Instead of just writing out the quote to the response, instead render the quote.ejs template, passin ...

  5. (算法)构造MaxTree

    题目: 给定一个没有重复元素的数组A,定义A上的MaxTree如下:MaxTree的根节点为A中最大的数,根节点的左子树为数组中最大数左边部分的MaxTree,右子树为数组中最大数右边部分的MaxTr ...

  6. Android 之数据传递小结

    Android开发中,在不同模块(如Activity)间经常会有各种各样的数据需要相互传递,常用的的有五种传递方式.它们各有利弊,有各自的应用场景.下面分别介绍一下: 1. Intent对象传递简单数 ...

  7. IDEA+Gradle相关资料

    要注意下载的版本,不能过于陈旧,否则会报错,导致无法正常配置. 具体配置参考:https://my.oschina.net/u/1994816/blog/297967 IDEA下载地址:https:/ ...

  8. 【DevOps】为什么我们永远疲于奔命?

    作者:范军 (Frank Fan) 新浪微博:@frankfan7   微信:frankfan7 在[DevOps]谁说大象不能跳舞?一文之后,本文对DevOps的理念作进一步探讨. 最近在读一本书& ...

  9. Java从零开始学二十五(枚举定义和简单使用)

    一.枚举 枚举是指由一组固定的常量组成的类型,表示特定的数据集合,只是在这个数据集合定义时,所有可能的值都是已知的. 枚举常量的名称建议大写. 枚举常量就是枚举的静态字段,枚举常量之间使用逗号隔开. ...

  10. eclipse 显示特殊符号

    windows --> Preferences --> General --> Editors --> Text Editors 右边 show white space let ...