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-代码分支管理的更多相关文章

  1. Git的分支管理

    0.引言 本文参考最后的几篇文章,将git的分支管理整理如下.学习git的分支管理将可以版本进行灵活有效的控制. 1.如何建立与合并分支 1.1分支的新建与合并指令 新建分支 newBranch,并进 ...

  2. 你真的了解git的分支管理跟其他概念吗?

    现在前端要学的只是太多了,你是不是有时会有这个想法,如果我有两个大脑.一个学Vue,一个学React,然后到最后把两个大脑学的知识再合并在一起,这样就能省时间了. 哈哈,这个好像不能实现.现实点吧!年 ...

  3. git的介绍、git的功能特性、git工作流程、git 过滤文件、git多分支管理、远程仓库、把路飞项目传到远程仓库(非空的)、ssh链接远程仓库,协同开发

    Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效.高速地处理从很小到非常大的项目版本管理. [1] 也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码 ...

  4. 引入git flow分支管理

    git flow是Vincent Driessen提出了一个分支管理的策略,非常值得借鉴.它可以使得版本库的演进保持简洁,主干清晰,各个分支各司其职.井井有条. 先看下Vincent Driessen ...

  5. git(二) 分支管理

    概念 分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN. 如果两个平行宇宙互不干扰,那对现在的你也没啥影响.不过,在某个时间点,两个平行宇 ...

  6. Git Flow 分支管理简述

    概述 Git 是什么 Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的 ...

  7. git flow分支管理

    阅读目录 两种核心分支 三种临时分支 Git Flow流程示例代码 Git Flow工具 分支命名规范 总结 git flow是Vincent Driessen提出了一个分支管理的策略,非常值得借鉴. ...

  8. 139.00.005 Git学习-分支管理

    @(139 - Environment Settings | 环境配置) 一.Why? 分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交, ...

  9. git的使用学习(五)git的分支管理

    分支管理 分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN. 如果两个平行宇宙互不干扰,那对现在的你也没啥影响.不过,在某个时间点,两个平 ...

  10. GIT之分支管理

    分支管理 一.分支推进 主分支 单线分支,随着代码的提交而形成的一条直线,HEAD 随着commit提交之后的节点移动而移动. 子分支 当切换到子分支的时候,HEAD 则指向子分支的节点. 在子分支上 ...

随机推荐

  1. Jwt快速入门(copy即可)

    Jwt 什么是jwt JSON Web Token(缩写 JWT)是目前最流行的跨域认证解决方案,本文介绍它的原理和用法. 互联网服务离不开用户认证.一般流程是下面这样. 1.用户向服务器发送用户名和 ...

  2. robotframework自动化测试框架搭建及问题汇总

    1.安装python RF框架是基于python 的,所以一定要有python环境,python与rf存在兼容性问题,我安装的是python3.7.5,robotframework3.1.2. 选择添 ...

  3. 12_进程,线程,协程,IO多路复用的区别

    1.进程 1.进程可以使用计算机多核 2.进程是资源分配的单位 3.进程的创建要比线程消耗更多的资源效率很低 4.进程空间独立,数据安全性跟好操作有专门的进程间通信方式 5.一个进程可以包含多个线程, ...

  4. 目标检测中的IOU和CIOU原理讲解以及应用(附测试代码)

    上期讲解了目标检测中的三种数据增强的方法,这期我们讲讲目标检测中用来评估对象检测算法的IOU和CIOU的原理应用以及代码实现. 交并比IOU(Intersection over union) 在目标检 ...

  5. leetcode刷题-40组合总和2

    题目 给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合. candidates 中的每个数字在每个组合中只能使用 ...

  6. An Introduction to Differential Privacy

    原文链接:An Introduction to Differential Privacy 差分隐私算法可以允许分析人员执行良性的聚合分析,同时保证个人隐私得到切实的保护.. 背景数据分析中的隐私保护技 ...

  7. adb连接手机

    1. 通过wifi, 利用adb来连接手机. 在pc的cmd中输入命令: adb connect 192.168.1.100 其中adb就是手机的ip. 如果连接成功, 就可以进入android的sh ...

  8. django之安装和项目创建

    dos界面下安装django 自动下载和安装:cmd:pip3 install  django 手动安装: 1.登录django官网下载django 2.下载地址:https://www.django ...

  9. 在CentOS Linux 7.5上安装MySQL

    本文来自与https://www.linuxidc.com/Linux/2018-05/152574.htm 随着CentOS 7 MySQL的发布,世界上最流行的开源关系数据库管理系统在CentOS ...

  10. 第二篇 配置wcf

    老老实实学WCF 第二篇 配置WCF 在上一篇中,我们在一个控制台应用程序中编写了一个简单的WCF服务并承载了它.先回顾一下服务端的代码: using System; using System.Col ...