git-代码分支管理
1. git代码分支管理
DEV SIT UAT PET PRE PRD PROD常见环境英文缩写含义
| 英文缩写 | 英文 | 中文 |
| DEV | development | 开发 |
| SIT | System Integrate Test | 系统综合测试(内测) |
| UAT | User Acceptance Test | 用户验收测试 |
| PET | Performance Evaluation Test | 性能评估测试(通常叫压力测试) |
| SIM | simulation | 仿真 |
| PRD/PROD | Production | 产品/正式/生产 |

2. 在给大家介绍一些开发过程中,四个环境以及各自的功能特点,四个环境分别是:prod、pre、test、dev环境,中文名字:生产环境、灰度环境、测试环境、开发环境,其实大家看英文应该就差不多可以看出来对应的是什么环境
- prod环境:生产环境、面向外部用户的环境、连接上互联网既可访问的正式环境
- pre环境: 预生产、外部用户可以正常访问,但是服务器配置相对低,其他和生产一样
- test环境:测试环境、外部用户无法访问,专门给测试人员使用的,版本相对稳定。
- dev环境:开发环境、外部用户无法访问,开发人员使用,版本变动很大。
3. 下面介绍为什么要使用四个环境原因:
其实大多数人都知道四个环境指的是什么,但是很多人却不知道为什要这么区别,甚至为了省事就只有dev和prod环境。如果项目没上线之前是没有问题,但是如果项目上线后就会有非常麻烦的事情发生。下面我们就针对这四种环境,来分析一下对应的各种场景。
1) 第一种场景是dev+prod环境
如果我们只有dev和prod环境,prod环境突然发现bug,需要紧急处理,只有两个环境,这个时候我们要如何解决问题呢?
- 第一:我们要首先去prod环境拉取版本1.0.0的更新到dev上,而prod现在才1.0.0、所以这个时候我们需要重新创建一个bug修复hotfix分支,这边我们可以叫做1.0.0.1然后修改代码之后需要放到dev环境上面测试,这个时候会变成如下图所示状态:

然后测试通过之后,我们需要将1.0.0.1发布到dev环境,然后合并1.0.0.1的代码到1.0.0中,最后将dev环境修改为1.0.0,如下上图所示:
提示:
在dev1.0.0.1测试环境期间,所有的开发工作全部停止,必须等到测试通过发布到生产上面才可以,如果仅仅只有两个环境,代价实在太大了
2) 第二种场景就是dev+test+prod
如果我们多了一个test环境情况就会好很多了,比如上面说的问题,我们就可以这样来处理了
我们可以在test1.0.0上面直接修改,修改后的版本是1.0.0.1,测试通过之后直接发布到pro环境即可。然后再将test中1.0.0.1代码合并到1.1.0,最后dev的版本升一级就可以了。

提示:
这样的好处就是不会影响dev开发环境,不管怎么修改test,都不会造成dev暂停。
3) 第三种场景:部署流水线环境DEV+SIT+UAT+PET压力测试环境+PAT+PROD


4) 部署流水线的阶段和环境

5) 流水线反馈过程

git-代码分支管理的更多相关文章
- Git的分支管理
0.引言 本文参考最后的几篇文章,将git的分支管理整理如下.学习git的分支管理将可以版本进行灵活有效的控制. 1.如何建立与合并分支 1.1分支的新建与合并指令 新建分支 newBranch,并进 ...
- 你真的了解git的分支管理跟其他概念吗?
现在前端要学的只是太多了,你是不是有时会有这个想法,如果我有两个大脑.一个学Vue,一个学React,然后到最后把两个大脑学的知识再合并在一起,这样就能省时间了. 哈哈,这个好像不能实现.现实点吧!年 ...
- git的介绍、git的功能特性、git工作流程、git 过滤文件、git多分支管理、远程仓库、把路飞项目传到远程仓库(非空的)、ssh链接远程仓库,协同开发
Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效.高速地处理从很小到非常大的项目版本管理. [1] 也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码 ...
- 引入git flow分支管理
git flow是Vincent Driessen提出了一个分支管理的策略,非常值得借鉴.它可以使得版本库的演进保持简洁,主干清晰,各个分支各司其职.井井有条. 先看下Vincent Driessen ...
- git(二) 分支管理
概念 分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN. 如果两个平行宇宙互不干扰,那对现在的你也没啥影响.不过,在某个时间点,两个平行宇 ...
- Git Flow 分支管理简述
概述 Git 是什么 Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的 ...
- git flow分支管理
阅读目录 两种核心分支 三种临时分支 Git Flow流程示例代码 Git Flow工具 分支命名规范 总结 git flow是Vincent Driessen提出了一个分支管理的策略,非常值得借鉴. ...
- 139.00.005 Git学习-分支管理
@(139 - Environment Settings | 环境配置) 一.Why? 分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交, ...
- git的使用学习(五)git的分支管理
分支管理 分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN. 如果两个平行宇宙互不干扰,那对现在的你也没啥影响.不过,在某个时间点,两个平 ...
- GIT之分支管理
分支管理 一.分支推进 主分支 单线分支,随着代码的提交而形成的一条直线,HEAD 随着commit提交之后的节点移动而移动. 子分支 当切换到子分支的时候,HEAD 则指向子分支的节点. 在子分支上 ...
随机推荐
- Left Mouse Button (bfs)
Mine sweeper is a very popular small game in Windows operating system. The object of the game is to ...
- javascript面试题(一)
1. var bar = null; console.log(typeof bar === 'object'); //logs true! 尽管 typeof bar === "object ...
- 关于pom.xml文件中配置jquery,以及如何在jsp中引入
pom.xml <!-- 对jquery的支持 --> <dependency> <groupId>org.webjars.bower</groupId> ...
- JVM执行子程序
Class文件结构 计算机只认识0和1,这个称之为本地机器NativeCode Jvm的无关性 与平台无关性是建立在操作系统上,虚拟机厂商提供了许多可以运行在各种不同平台的虚拟机,它们都可以载入和执行 ...
- 矩阵LU分解的MATLAB与C++实现
一:矩阵LU分解 矩阵的LU分解目的是将一个非奇异矩阵\(A\)分解成\(A=LU\)的形式,其中\(L\)是一个主对角线为\(1\)的下三角矩阵:\(U\)是一个上三角矩阵. 比如\(A= \beg ...
- npm 报错 cb.apply is not a function
解决方法1 目录C:\Users(your username)\AppData\Roaming 有个npm文件夹 删除如果没有 npm cache文件cmd下运行 npm clean cache —f ...
- VMware参数disk.EnableUUID生效扫描不出来UUID
问题描述:搭建RAC中的共享磁盘,在一个节点上部署磁盘,另一个节点加入共享磁盘,使用扫描UUID的方法,但是莫名其妙一直扫描不出来UUID,使用了各种各样的方法,一个星期时间接近崩溃,又搞了一下午的测 ...
- pycharm安装模块方法
一. 打开pycharm 二. 点开file 三. 点击Settings,点击Project Interpreter,选择右上角+ 四. 进入后,在搜索框搜索需要安装的模块,选中安装 击Project ...
- 归并排序求逆序对(poj 2299)
归并排序求逆序对 题目大意 给你多个序列,让你求出每个序列中逆序对的数量. 输入:每组数据以一个数 n 开头,以下n行,每行一个数字,代表这个序列: 输出:对于输出对应该组数据的逆序对的数量: 顺便在 ...
- js动画之轮播图
一. 使用Css3动画实现 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...