GIT 分支管理办法(二)
GIT 分支管理办法(二)
一. 大型项目分支管理中存在的痛点
大型项目中需求的上线存在很大的不确定性,而且往往存在多版本、多团队、多开发并行的情况。尤其是大型企业对上线分支中编号的管理十分严苛,严禁夹带上线。这时对于开发而言,没有一个好的分支管理策略就是一个灾难。
二. 实践中的分支管理最优解:按版本、按需求、按人员拆分支(基础)
1. 业务场景
10月份有四个需求同时在开发,分别是商机、客户、目标、业绩。其中商机需求由甲(张三、李四)、乙(王五、赵六)两个团队配合开发。其中商机需求在 20231004、20231011、20231018、20231025 四个版本都有改动,甚至互相冲突。
2. 业务特点
版本多:20231004、20231011、20231018、20231025关联方多:任意一侧都可能导致无法投产不同版本改同一需求:可能冲突
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 的形式回退代码,再通知测试重新验证该需求。
相关文章:
GIT 分支管理办法(二)
GIT 分支管理办法(二) 一. 大型项目分支管理中存在的痛点 大型项目中需求的上线存在很大的不确定性,而且往往存在多版本、多团队、多开发并行的情况。尤其是大型企业对上线分支中编号的管理十分严苛,严禁夹带上线。这时对于开发…...
Vue面试之Mixins
Vue面试之Mixins 定义Mixins使用Mixins全局MixinsMixins合并策略注意事项命名冲突:过度使用 最近在整理一些前端面试中经常被问到的问题,分为vue相关、react相关、js相关、react相关等等专题,可持续关注后续内容,会不断进行整理~ …...
YOLOv8改进 | 主干篇 | EfficientViT高效的特征提取网络完爆MobileNet系列(轻量化网络结构)
一、本文介绍 本文给大家带来的改进机制是主干网络,一个名字EfficientViT的特征提取网络(和之前发布的只是同名但不是同一个),其基本原理是提升视觉变换器在高效处理高分辨率视觉任务的能力。它采用了创新的建筑模块设计,包括三明治布局和级联…...
分布式限流要注意的问题
本文已收录至我的个人网站:程序员波特,主要记录Java相关技术系列教程,共享电子书、Java学习路线、视频教程、简历模板和面试题等学习资源,让想要学习的你,不再迷茫。 为什么需要匀速限流 同学们回想一下在Guava小节里…...
git将一个远程分支的部分修改提交到另一个远程分支
将一个远程分支的部分修改提交到另一个远程分支 将一个远程分支的部分修改提交到另一个远程分支,可以使用 git cherry-pick 命令。这个命令可以选择特定的提交(commit)从一个分支应用到另一个分支。 切换到目标本地分支: 首先&am…...
promise是什么怎么使用
Promise 是一种 JavaScript 中的对象,用于处理异步操作。它表示一个最终可能完成(解析)或失败(拒绝)的操作,以及其结果值。 Promise 有三种状态: Pending(待定)&#x…...
国际版WPS Office 18.6.1
【应用名称】:WPS Office 【适用平台】:#Android 【软件标签】:#WPS 【应用版本】:18.6.1 【应用大小】:160MB 【软件说明】:软件日常更新。WPS Office是使用人数最多的移动办公软件。独有手机阅读模式…...
记录一次数据中包含转义字符\引发的bug
后端返回给前端的数据是: { "bizObj": { "current": 1, "orders": [ ], "pages": 2, "records": [ { "from": "1d85b8a4bd33aaf99adc2e71ef02960e", …...
网络协议:ICMP协议及实用工具介绍
目 录 一、ICMP介绍 1、概述 2、功能 3、特点 二、ICMP的数据报文 三、ICMP相关工具 四、主要ICMP工具应用 1、Ping 2、Traceroute (1) 方法1: (2)方法2: 3、Nmap 一、ICMP介绍 1、概述 …...
Hyper-V如何设置网络-虚拟交换机设置
Hyper-V如何设置网络-虚拟交换机设置 缘起虚拟交换机类型1. 外部交换机;2. 内部交换机;3. 专用交换机;4.default switch; 虚拟机上openwrt多种网络连接方式 缘起 发现win10还有个虚拟机Hyper-V的功能,不太占资源&…...
SAP不同语言开发
文章目录 1 Please write English Nmae2 go to goto menu and translation3 Write your target language .4 Please input Chinese5 Summary 1 Please write English Nmae 2 go to goto menu and translation 3 Write your target language . 4 Please input Chinese 5 Summary…...
瑞_Java开发手册_(一)编程规约
文章目录 编程规约的意义(一)命名风格(二)常量定义(三)代码格式(四)OOP 规约(五)日期时间(六)集合处理(七)并发…...
【JVM】本地方法接口 Native Interface
一、JNI简介 JVM本地方法接口(Java Native Interface,JNI)是一种允许Java代码调用本地方法(如C或C编写的方法)的机制。这种技术通常用于实现高性能的计算密集型任务,或者与底层系统库进行交互。 二、JNI组…...
JS 本地存储 sessionStorage localStorage
本地存储 随着互联网的快速发展,基于网页的应用越来越普遍,同时也变的越来越复杂,为了满足各种各样的需求,会经常性在本地存储大量的数据,HTML5规范提出了相关解决方案。 本地存储特性 1、数据存储在用户浏览器中 2…...
K8S 存储卷
意义:存储卷----数据卷 容器内的目录和宿主机的目录进行挂载 容器在系统上的生命周期是短暂的,delete,k8s用控制器创建的pod,delete相当于重启,容器的状态也会回复到初始状态 一旦回到初始状态,所有的后天编辑的文件…...
一个SqlSugar实际案例
SqlGugar是一个非常好的数据库操作框架,今天用一个示例来分享如何使用。 新建一张课程表 结构如下: CREATE TABLE t_course (id int NOT NULL AUTO_INCREMENT COMMENT ID,title varchar(1024) NOT NULL COMMENT 课程标题,description text NOT NULL C…...
【RT-DETR有效改进】ShapeIoU、InnerShapeIoU关注边界框本身的IoU(包含二次创新)
前言 大家好,我是Snu77,这里是RT-DETR有效涨点专栏。 本专栏的内容为根据ultralytics版本的RT-DETR进行改进,内容持续更新,每周更新文章数量3-10篇。 专栏以ResNet18、ResNet50为基础修改版本,同时修改内容也支持Re…...
从理论到实践:数字孪生技术的全面应用探讨
数字孪生是一种将实际物体或系统的数字模型与其实时运行状态相结合的概念。这一概念的核心在于创建一个虚拟的、与真实世界相对应的数字副本,以便监测、分析和优化实体系统的性能。 简单理解,数字孪生就是在一个设备或系统的基础上,创造一个…...
2.1.2 一个关于y=ax+b的故事
跳转到根目录:知行合一:投资篇 已完成: 1、投资&技术 1.1.1 投资-编程基础-numpy 1.1.2 投资-编程基础-pandas 1.2 金融数据处理 1.3 金融数据可视化 2、投资方法论 2.1.1 预期年化收益率 2.1.2 一个关于yaxb的…...
Rust-解引用
“解引用”(Deref)是“取引用”(Ref)的反操作。取引用,我们有&、&mut等操作符,对应的,解引用,我们有操作符,跟C语言是一样的。示例如下: 比如说,我们有引用类型p:&i32;,那么可以用符…...
Ai2Psd终极指南:如何将Illustrator矢量图层完美导出到Photoshop
Ai2Psd终极指南:如何将Illustrator矢量图层完美导出到Photoshop 【免费下载链接】ai-to-psd A script for prepare export of vector objects from Adobe Illustrator to Photoshop 项目地址: https://gitcode.com/gh_mirrors/ai/ai-to-psd 还在为AI到PSD的格…...
新手友好:无需配置环境,在快马平台编写第一行open claw控制代码
今天想和大家分享一个特别适合新手入门的Open Claw控制小项目。作为一个刚接触机器人控制的小白,我发现在InsCode(快马)平台上可以轻松实现机械爪的基础控制,完全不需要配置复杂的环境,特别适合零基础学习。 Open Claw是什么? Ope…...
收藏必备!小白程序员轻松入门大模型,带你理清AI核心概念全框架
AI浪潮已经刮了一年多,身边越来越多人聊AI,张口就是“agent”“skill”,听得人只能点头附和,似懂非懂?其实不是听不懂,而是没有把这些概念串起来,告诉你它们到底是什么、彼此有啥关系。 咱不聊复…...
Pi0机器人控制实战:从模型下载到Web演示完整流程
Pi0机器人控制实战:从模型下载到Web演示完整流程 1. 项目概述与核心价值 Pi0是一个创新的视觉-语言-动作流模型,专为通用机器人控制设计。这个开源项目将深度学习与机器人技术相结合,通过自然语言指令和视觉输入来生成精确的机器人动作。项…...
Ostrakon-VL-8B构建智能相册:基于自然语言的照片检索与回忆生成
Ostrakon-VL-8B构建智能相册:基于自然语言的照片检索与回忆生成 你有没有过这样的经历?手机里存了几千张照片,想找一张去年夏天在山上拍的照片,却要翻上十几分钟,甚至最后也没找到。或者,看着一堆旅行照片…...
3D Face HRN场景应用:为教育课件快速创建解剖学面部3D模型
3D Face HRN场景应用:为教育课件快速创建解剖学面部3D模型 1. 解剖学教学的数字化革命 传统解剖学教学面临一个根本性挑战:如何让学生直观理解面部复杂的三维结构?教科书上的平面插图无法展示肌肉层次,实体模型又昂贵且无法个性…...
开源心电监测终极指南:AD8232心率监测器的精准监测与实时分析方案
开源心电监测终极指南:AD8232心率监测器的精准监测与实时分析方案 【免费下载链接】AD8232_Heart_Rate_Monitor AD8232 Heart Rate Monitor 项目地址: https://gitcode.com/gh_mirrors/ad/AD8232_Heart_Rate_Monitor AD8232心率监测器是一款基于专业心电传感…...
Go Routine 调度策略详解
Go Routine 调度策略详解 Go语言凭借其轻量级的并发模型——Goroutine,成为高并发编程的热门选择。Goroutine的高效运行离不开Go调度器的智能管理,而调度策略则是其核心机制。本文将深入解析Goroutine的调度策略,帮助开发者更好地理解并发执…...
Phi-4-mini-reasoningGPU算力适配:A10/A100/T4多卡环境下的推理吞吐调优
Phi-4-mini-reasoning GPU算力适配:A10/A100/T4多卡环境下的推理吞吐调优 1. 模型特性与部署概述 Phi-4-mini-reasoning 是一款专注于推理任务的文本生成模型,特别擅长处理数学题、逻辑题等需要多步分析和简洁结论输出的场景。与通用聊天模型不同&…...
软萌拆拆屋惊艳效果:多层叠穿服饰逐层展开结构图生成案例
软萌拆拆屋惊艳效果:多层叠穿服饰逐层展开结构图生成案例 1. 引言:当AI遇见“拆解美学” 想象一下,你有一件设计精巧的洛丽塔裙子,上面缀满了蕾丝、蝴蝶结和复杂的褶皱。你想向别人展示它的每一个精妙细节,但一张普通…...
