Git分支管理规范

2023-05-16

一、分支与角色说明

Git 分支类型

  • master 分支(主分支) 稳定版本

  • develop 分支(开发分支) 最新版本

  • release 分支(发布分支) 发布新版本

  • hotfix 分支(热修复分支) 修复线上Bug

  • feature 分支(特性分支) 实现新特性

Gitlab 角色与项目角色对应关系

  • Owner(拥有者) Git 管理员

  • Master(管理员) 开发主管

  • Developer(开发者) 开发人员

  • Reporter(报告者) 测试人员

  • Guest(观察者) 其他人员

二、分支简明使用流程

  1. 每开发一个新功能,创建一个 feature 分支,从当前的 master 分支上拉取,多人在此分支上开发。

  2. 提测时,将 master 分支和需要提测的分支汇总到一个 release 分支,发布测试环境。

  3. 发现bug时,在 feature 分支上debug后,再次回到2。

  4. 发布生产环境后,将 release 分支合并到 master 分支,删除 release 分支。

三、创建新项目(master分支)

  • 开发主管提交代码初始版本到 master 分支,并推送至Gitlab系统

  • 开发主管在 Gitlab 系统中设置master 分支为 Protectd 分支(保护分支)

  • Protected 分支不允许 Developer 角色推送代码,但 Master 角色可以推送代码

四、进行项目开发(develop分支)

  • 开发主管在 master 分支上创建 develop 分支(开发分支),并推送至Gitlab系统

  • master 分支与 develop 分支一样,有且仅有一个

  • 对于非并行项目可以使用 develop 分支开发方式,对于多人并行开发项目,使用 feature 分支开发方式,但 developfeature 开发方式不应同时使用 (注意:目前项目暂时使用 feature 分支开发方式)

五、开发新特性(feature分支)

  • 每个新需求或新的研究创建一个 feature 分支

  • 命名规范:feature/分支创建日期-新特性关键字,例如:feature/20181220-catering

  • 推荐使用 feature 分支,但 feature 分支的生命周期不能跨一次迭代

六、发布测试环境(release分支)

开发负责人需完成以下任务:

  1. 确认要发布的feature 分支上的功能是否开发完毕并提交

  2. 创建release 分支(发布分支),将所有要发布的分支逐个合并到release分支,有如下情况:

    • feature 分支(可能有多个)

    • master 分支(期间可能有其他 release 版本更新到了 master

  3. 命名规则:release/分支创建日期-新特性和待发布版本号,例如:release/20181220-餐饮管理v1.0.0,版本可根据需要添加

  4. 删除本次发布的所有 feature 分支

  5. 发布到测试环境,通知测试

七、修复待发布版本中的Bug(feature分支)

如果发现bug,开发人员在 feature 分支上修复测试人员提交给自己的bug,修复完成后,由负责人再次创建 release 分支,发布测试环境。

八、发布正式环境

开发负责人需完成以下任务:

  1. 根据修复后的 release 分支再次将 master 合并,打包发布生产环境

  2. 确认发布成功,并线上验收通过后,将 release 分支合并到 master 分支

  3. master 分支上创建标签,命名规则:tag/日期-新特性和版本号,例如:tag/20181220-cateringv1.0.0,版本可根据需要添加,作为发版里程碑标记

  4. 删除对应 release 分支

九、修复线上Bug(hotfix分支)

线上的不同版本出现了bug怎么办?开发负责人需完成以下任务:

  1. master 分支某个 tag 上创建一个 hotfix 分支(热修复分支),一般是最新的 tag 应该和当前生产环境对应

    • 命名规则:hotfix/分支创建日期-bug名称和待发布版本号,例如:hotfix/20181220-仓库添加新字段v1.0.1
  2. 开发人员完成Bug 修复,提交 hotfix 分支到测试环境验收通过

  3. 再次发布正式环境流程

  4. hotfix 分支合并到 master 分支

  5. master 分支上创建标签

    • 命名规则:tag/日期-新特性和版本号,例如:tag/20181220-cateringv1.0.0,版本可根据需要添加,作为发版里程碑标记
  6. 删除 hotfix 分支

十、Git 的特别注意事项

  • 由于 git 分支是基于指针的概念,所以分支速度非常快,当多个分支时,实际指针指向的是同一个文件,当文件被修改时,使用的是暂存区保存修改,此时并未提交到相应分支。

  • 所以切换分支的时候,暂存区只有一个,所以切换分支之前,一定要将所有修改commit到当前分支,否则会在其他分支看到修改的内容,引起误解。

参考文档:

  • Git分支管理规范

  • 阮一峰-Git分支管理策略(带git命令)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Git分支管理规范 的相关文章

  • 二叉搜索树的第k大节点

    二叉搜索树的第k大节点 题目 给定一棵二叉搜索树 xff0c 请找出其中第 k 大的节点的值 示例 1 输入 root 61 3 1 4 null 2 k 61 1 3 1 4 2 输出 4 示例 2 输入 root 61 5 3 6 2
  • 关于STM32的编码器计数及溢出处理调试总结

    错误1 pc6 pc7被用作其他用途 GPIO模式配置错误 导致计数不准确 错误2 引脚模式设置错误 应该设置为GPIO Mode IPD GPIO Mode IPU nbsp GPIO Mode IN FLOATING nbsp 都可以
  • Android getResources的作用和需要注意点

    今天做一个Android的文件管理器 xff0c 里面用到很多的地方用到了getResources Drawable currentIcon 61 null currentIcon 61 getResources getDrawable R
  • 功能测试,系统测试,兼容性测试,手工测试

    功能测试 功能测试一般需要根据编写的 测试用例 xff0c 执行测试用例 xff0c 执行的过程中提交缺陷 xff1b 功能测试一般至少会有两轮 xff0c 遇到比较麻烦的项目甚至会有三到四轮 xff0c 而每一轮测试都有其侧重点 xff0
  • 古诗文本自动生成唐诗文本生成(算例代码)

    首先准备好一个本地文件 xff0c 在此我命名为唐诗三百首 txt如下图 https img blog csdnimg 图片 代码如下 span class token keyword import span numpy span clas
  • ChatGPT被淘汰了?Auto-GPT到底有多强

    大家好 xff0c 我是可夫小子 xff0c 关注AIGC 读书和自媒体 解锁更多ChatGPT AI绘画玩法 说Auto GPT淘汰了ChatGPT了 xff0c 显然是营销文案里面的标题党 毕竟它还是基于ChatGPT的API xff0
  • 案例分享:让ChatGPT充当程序员,帮你无代码实现网络爬虫

    大家好 xff0c 我是可夫小子 xff0c 关注AIGC 读书和自媒体 解锁更多ChatGPT AI绘画玩法 加 xff1a keeepdance xff0c 备注 xff1a chatgpt xff0c 拉你进群 提示 xff1a 本案
  • 插件推荐:一键保存ChatGPT对话记录GPT-EZ

    大家好 xff0c 我是可夫小子 xff0c 关注AIGC 读书和自媒体 解锁更多ChatGPT AI绘画玩法 加 xff1a keeepdance xff0c 备注 xff1a chatgpt xff0c 拉你进群 我们在与ChatGPT
  • 案例分享:ChatGPT写python脚本,轻松文本处理

    大家好 xff0c 我是可夫小子 xff0c 关注AIGC 读书和自媒体 解锁更多ChatGPT AI绘画玩法 加 xff1a keeepdance xff0c 备注 xff1a chatgpt xff0c 拉你进群 在工作中 xff0c
  • Android NDK tombstone分析工具

    Android NDK tombstone分析工具 在Andoird Native库发生异常的时候 xff0c Linux会发生不同级别的sig xff0c 来结构相关进程的运行 xff0c 同时会产生tombstone trace文件用于
  • 关于UEFI

    最近在Thinkpad上安装Ubuntu12 04的时候 xff0c 经历了几个问题 xff0c 发现BOIS里多了很多选项 xff0c 而且安装双系统也有UEFI有关 xff0c 在网站上找了一篇文章 xff0c 发现这还是一个新概念 x
  • 怎样在github上协同开发

    描述 xff1a How to co work wither parter via github Github协同开发情景模拟 Github不仅有很多开源的项目可以参考 xff0c 同样也是协同开发的最佳工具 xff0c 接下来的就模拟一下
  • Android libdvm.so 与 libart.so

    Android libdvm so 与 libart so 系统升级到5 1之后 xff0c 发现system lib 下面没有libdvm so了 xff0c 只剩下了libart so 对于libart模式 xff0c 从4 4就在De
  • Translate Aticle

    最近在Thinkpad上安装Ubuntu12 04的时候 xff0c 经历了几个问题 xff0c 发现BOIS里多了很多选项 xff0c 而且安装双系统也有UEFI有关 xff0c 在网站上找了一篇文章 xff0c 发现这还是一个新概念 x
  • android倒计时功能的实现(CountDownTimer)

    在逛论坛的时候 xff0c 看到一个网友提问 xff0c 说到了CountDownTimer这个类 xff0c 从名字上面大家就可以看出来 xff0c 记录下载时间 将后台线程的创建和Handler队列封装成一个方便的类调用 查看了一下官方
  • 为何无法打开administrator目录?提示“无法访问c:/documents and settings/administrator,拒绝访问"解决办法

    有的时候 我们要打开一个文件夹 尤其是C盘的Documents and Settings里面的文件夹 而系统却给出 xff02 文件夹拒绝访问 xff02 的对话框 xff0c 这该怎么办呢 xff1f 别慌 xff0c 有办法 xff01
  • Powershell 美化教程(2021版)

    win下原生的三款CMD Powershell和Windows Terminal xff0c 一个是上世纪的产物 xff0c 只能win环境内最基本的使用 xff1b 另一个是挺新 xff0c 但是明显UI设计师不在线 xff0c 在win
  • 高级设置/FTP IPv4地址和域限制(三)

    xff13 詳細設定 xff0f FTP IPv4 制限 xff13 高级设置 xff0f FTP IPv4地址和域限制 xff11 操作 項目 FTP 管理 詳細設定 xff12 高级设置 初期設定値如下 xff0a 物理路径 E act
  • Linux简易DDNS配置教程

    Linux简易DDNS配置教程 DDNS与其在Linux系统上的应用 1 1 DDNS是什么 xff0c 其作用是什么 DDNS xff08 Dynamic Domain Name System xff0c 动态域名系统 xff09 是一种
  • 机器学习毕业设计 大数据股票数据量化分析与预测系统 - python

    文章目录 0 前言1 课题背景2 实现效果UI界面设计web预测界面RSRS选股界面 3 软件架构4 工具介绍Flask框架MySQL数据库LSTM 0 前言 x1f525 这两年开始毕业设计和毕业答辩的要求和难度不断提升 xff0c 传统

随机推荐

  • HTML Parsing Error: Unable to modify the parent co

    HTML Parsing Error Unable to modify the parent container element before the child element is closed KB927917 主要是因为页面没有加载
  • 解决PowerShell无法使用conda的问题

    目录 1 问题描述2 解决办法2 1 将Anaconda添加至系统环境变量2 2 初始化PowerShell2 3 设置ExecutionPolicy的值 3 避免PowerShell默认激活base环境 1 问题描述 由于新版本的Anac
  • [RK3288][Android6.0] 调试笔记 --- 录音apk无权限录音问题

    Platform Rockchip OS Android 6 0 Kernel 3 10 92 现象 xff1a 写了个apk测试录音 xff0c 提示 xff1a 01 22 00 59 40 795 215 948 W ServiceM
  • 【Linux】Ubuntu 使用指南

    content 1 换清华源2 更新三步走3 1 换清华源 备份 Ubuntu 的软件源配置文件 etc apt sources list span class token function sudo span span class tok
  • ubuntu下解决不能识别外部设备的方法

    首先确认手机连接上电脑 xff0c lsusb查看下设备记录 matthew 64 matthew 1230 laptop lsusb Bus 007 Device 009 ID 18d1 4e12 Bus 007 Device 001 I
  • android json解析及简单例子

    JSON的定义 xff1a 一种轻量级的数据交换格式 xff0c 具有良好的可读和便于快速编写的特性 业内主流技术为其提供了完整的解决方案 xff08 有点类似于正则表达式 xff0c 获得了当今大部分语言的支持 xff09 xff0c 从
  • Ubuntu 16.04 如何安装 Python 3.6

    在Ubuntu 16 04版本中 xff0c 系统默认安装 了python 2 7和3 5版本 xff0c 此次安装的是新版本Python 3 6 13 由于系统已经默认安装了Python xff0c 所以相关的依赖文件已经安装妥善 xff
  • ubnutu桌面环境Gnome 配置tweak tool时看不到extension插件选项

    问题 xff1a tweak tool中没用extension选项 xff0c 这是因为没有开启gnome xff0c 解决方法是注销当前用户 然后在登录窗口的右上角 xff0c 选择gnome xff0c 如下图所示 然后在弹出的窗口中选
  • C# 内存与性能优化

    C 内存与性能优化 https www jianshu com p d56f79d83ebd 前两周分享了资源配置与资源管理 xff0c 今天分享一种特殊的资源脚本数据 在Unity项目中 xff0c 我们通常使用C 编写脚本 xff0c
  • 转发——从搭建小系统到架构分布式

    从搭建小系统到架构分布式 从搭建小系统到架构分布式 SpringBoot是目前Spring技术体系中炙手可热的框架之一 既可用于构建业务复杂的企业应用系统 xff0c 也可以开发高性能和高吞吐量的互联网应用 Spring Boot 框架降低
  • 2018-8-30华为机试第三题

    一个很明显的递归问题 package cn csu ksh import java util ArrayList import java util List import java util Scanner public class Mai
  • Android学习之Sensor

    转自http javatest blog 163 com blog static 20865106420126216118757 只需要五步 xff0c 你就能搞定Sensor 让你的程序变的更酷 java view plain copy
  • 虚拟现实技术vr可以用来干什么?虚拟现实技术vr有什么特征

    科技行业的不断蓬勃发展 xff0c 每天会出现一些新的科技产品 xff0c 例如现在很火的虚拟现实技术vr xff0c 虚拟现实技术用的领域很多 xff0c 就拿游戏行业来说 xff0c 玩家可以通过vr眼镜 vr手柄等体验vr游戏 xff
  • Ubuntu18.04安装Qt5.14.2

    1 去官网 xff08 https download qt io archive qt xff09 下载对应的 run版本 这里是5 14 2 2 进入下载后的路径 xff0c 先赋予权限 xff0c 再安装 span class toke
  • Python归并排序

    归并排序 数据科学家每天都在处理算法 然而 xff0c 数据科学学科作为一个整体已经发展成为一个不涉及复杂算法实现的角色 尽管如此 xff0c 从业者仍然可以从建立对算法的理解和知识库中受益 在本文中 xff0c 对排序算法归并排序进行了介
  • Android ADB 源码分析总结

    Android之ADB总结 本文内容如下 xff1a 1 makefile分析及总结 2 adb框架介绍 3 adbd源码分析 3 1 adbd初始化流程分析 3 2 adb shell流程分析 3 3 adb root流程分析 4 adb
  • android4.0新控件Switch方法解析

    就是很像开关的那种控件 xff0c 它只有两个状态 xff1a on和off xff1a 在IOS中 xff0c 有个UISwitch控件 xff0c 其效果图 xff0c 如下 xff1a 在android4 0里面 xff0c 添加了一
  • Android Adb 源码分析(一)

    扭起屁股得意洋洋 最近 xff0c 我负责的项目因为临近量产 xff0c 把之前的userdebug版本关闭 xff0c 转成了user版本 xff0c 增加selinux的权限 xff0c 大家都洋溢在项目准备量产的兴奋和喜悦之中不能自拔
  • ADB源码分析(一)——ADB模块简述

    原文地址 http www apkbus com blog 50331 54609 html 感谢作者的分享 1 Adb 源码路径 system core adb 2 要想很快的了解一个模块的基本情况 xff0c 最直接的就是查看该模块的A
  • Git分支管理规范

    一 分支与角色说明 Git 分支类型 master 分支 xff08 主分支 xff09 稳定版本 develop 分支 xff08 开发分支 xff09 最新版本 release 分支 xff08 发布分支 xff09 发布新版本 hot