基本代码分支应该分为两类,一类是主要分支,包括线上主分支 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. Sqlserver存储过程生成日期维度

    话不多说,之前已经有一篇日志是利用oracle的存储过程生成日期维度表,接下来我们就用sqlserver来实现这个操作,如下面的步骤所示 1:创建日期维度表(Dim_time) USE [DW] GO ...

  2. Oracle 错误收集

    Oracle 错误大全 ORA-00001: 违反唯一约束条件 (.)ORA-00017: 请求会话以设置跟踪事件ORA-00018: 超出最大会话数ORA-00019: 超出最大会话许可数ORA-0 ...

  3. 【js】利用闭包消除回调函数启动时值已经发生变化的影响

    在以下代码中,timeFun异步执行了一个匿名函数,当输出color的值时已经由green变成red,因此输出为red. function timedFun(callback){ setTimeout ...

  4. ZH奶酪:在博客中添加Latex公式

    1. 点击编辑器中的插入图片: 2.在URL输入下边的地址: http://latex.codecogs.com/gif.latex?你的latex代码 就可以了-

  5. UEFI是什么?与BIOS的区别在哪里?UEFI详解!

    前几天在帮同事小何笔记本电脑安装64位 Windows 7 的时候,遇到一个从来没有碰到过的问题,使用光盘安装时,提示:Windows无法安装到这个磁盘.选中的磁盘具有MBR分区表.在EFI系统上,W ...

  6. C/C++程序内存分类

    程序中内存分类主要有下面几种: (1)栈存储区:主要存储局部变量.函数參数.函数返回值等. 栈内存由编译器在须要时自己主动分配,使用完后自己主动释放. (2)堆存储区:由new.malloc申请到的空 ...

  7. ehcache.xml的配置详解和示例

    <ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLoc ...

  8. springboot EnableAutoConfiguration

    http://blog.javachen.com/2016/02/19/spring-boot-auto-configuration.html 自动配置 在启动类上使用@EnableAutoConfi ...

  9. eclipse 如何对maven项目进行打包?

      eclipse 如何对maven项目进行打包? CreateTime--2018年4月19日22:02:50 Author:Marydon 1.方式一:使用eclipse中的maven插件(命令) ...

  10. logging日志管理-将日志写入文件

    # -*- coding: cp936 -*- # test.py #http://blog.chinaunix.net/uid-27571599-id-3492860.html #logging日志 ...