当前位置: 首页 > news >正文

GIT 分支管理办法(二)

GIT 分支管理办法(二)

一. 大型项目分支管理中存在的痛点

大型项目中需求的上线存在很大的不确定性,而且往往存在多版本、多团队、多开发并行的情况。尤其是大型企业对上线分支中编号的管理十分严苛,严禁夹带上线。这时对于开发而言,没有一个好的分支管理策略就是一个灾难。

二. 实践中的分支管理最优解:按版本、按需求、按人员拆分支(基础

1. 业务场景

10月份有四个需求同时在开发,分别是商机、客户、目标、业绩。其中商机需求由甲(张三、李四)、乙(王五、赵六)两个团队配合开发。其中商机需求在 20231004202310112023101820231025 四个版本都有改动,甚至互相冲突。

2. 业务特点
  • 版本多20231004202310112023101820231025
  • 关联方多:任意一侧都可能导致无法投产
  • 不同版本改同一需求:可能冲突
3. 如何处理分支问题呢?
3.1 环境为前提

准备最少三套环境用于开发测试使用

  • DEV开发分支,所有大版本排期以内的需求的分支均可以合入
  • SIT测试分支,所有大版本排期以内的需求的分支均可以合入
  • UAT预上线分支,只有正常提测且按期上线的需求相关分支可以合入
3.2. 拉取个人需求开发分支
  • 张三 商机 1004 需求:DEV-20231004-OPPT-ZHANGSAN
  • 张三 商机 1011 需求:DEV-20231011-OPPT-ZHANGSAN
  • 张三 商机 1018 需求:DEV-20231018-OPPT-ZHANGSAN
  • 张三 商机 1025 需求:DEV-20231025-OPPT-ZHANGSAN
  • 李四 目标 1004 需求:DEV-20231004-GOAL-LISI
  • 李四 商机 1018 需求:DEV-20231018- ACHIEVEMENT-ZHANGSAN
4. 实际中的操作

严格来说,上线分支一定是测试过的分支,故而生产投产分支即为 UAT 分支。但实际中,可以存在上线前几天突然通知延期的情况。当出现这种情况时,需要基于 UAT 分支拉取 PRDO 分支,将不上线的需求通过 revert commit 的形式回退代码,再通知测试重新验证该需求。

相关文章:

  • Redis中的Java客户端
  • 设计模式——适配器模式
  • 通过代理连接sftp
  • 汇编和C语言转换
  • 深入理解Lock Support
  • 2024年01月微软更新Bug 已解决 !Explorer.EXE 提示:Windows无法访问指定设备、路径或文件。你可能没有适当的权限访问该项目。
  • 测绘资质工程测量乙级资质办理条件
  • 强力推荐:本地文件加密软件—超详细加密步骤来了!
  • 概念解析 | 感知世界的无形之“波”:WiFi感知中的信道状态信息(CSI)探秘
  • 【Golang】十六进制字符串转二进制字符串
  • vue前端开发自学,插槽练习第二次,name属性的使用
  • OpenWrt智能路由器Wan PPPoE拨号配置方法
  • [开发语言][c++][python]:C++与Python中的赋值、浅拷贝与深拷贝
  • RGB,RGB-D,单目,双目,sterro相机,实例相机介绍
  • 独孤思维:​凌驾于所有赚钱项目的副业
  • 【译】JS基础算法脚本:字符串结尾
  • #Java异常处理
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • 2018天猫双11|这就是阿里云!不止有新技术,更有温暖的社会力量
  • HTTP请求重发
  • iOS 系统授权开发
  • JAVA并发编程--1.基础概念
  • java中的hashCode
  • k个最大的数及变种小结
  • Linux gpio口使用方法
  • Sequelize 中文文档 v4 - Getting started - 入门
  • Spring Cloud中负载均衡器概览
  • Spring技术内幕笔记(2):Spring MVC 与 Web
  • ViewService——一种保证客户端与服务端同步的方法
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • WePY 在小程序性能调优上做出的探究
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 将回调地狱按在地上摩擦的Promise
  • 实现简单的正则表达式引擎
  • 项目管理碎碎念系列之一:干系人管理
  • 小程序01:wepy框架整合iview webapp UI
  • 阿里云ACE认证之理解CDN技术
  • #Lua:Lua调用C++生成的DLL库
  • #pragam once 和 #ifndef 预编译头
  • (20050108)又读《平凡的世界》
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第5节(封闭类和Final方法)
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (独孤九剑)--文件系统
  • (三) diretfbrc详解
  • (十)c52学习之旅-定时器实验
  • (续)使用Django搭建一个完整的项目(Centos7+Nginx)
  • (转)setTimeout 和 setInterval 的区别
  • (转)shell中括号的特殊用法 linux if多条件判断
  • (最优化理论与方法)第二章最优化所需基础知识-第三节:重要凸集举例
  • *Algs4-1.5.25随机网格的倍率测试-(未读懂题)
  • .apk文件,IIS不支持下载解决
  • .bat批处理出现中文乱码的情况
  • .Net Core与存储过程(一)
  • .NET 自定义中间件 判断是否存在 AllowAnonymousAttribute 特性 来判断是否需要身份验证