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. Activiti7 启动流程实例

    package com.itheima.activiti; import org.activiti.engine.ProcessEngine; import org.activiti.engine.P ...

  2. Spring IoC 到底是什么

    前言 「上一篇文章」我们对 Spring 有了初步的认识,而 Spring 全家桶中几乎所有组件都是依赖于 IoC 的. 刚开始听到 IoC,会觉得特别高大上,但其实掰开了很简单. 跟着我的脚步,一文 ...

  3. Linux:系统用户和用户组

    一.用户介绍 用户分为三类,超级用户.虚拟用户.普通用户:系统通过用户的uid识别用户:超级用户uid=0,虚拟用户uid=1-599,普通用户的uid=500-65535 用户和组相关配置文件/et ...

  4. Solr专题(四)Solr安全设置

     因为solr的admin界面默认只需要知道ip和端口就能直接访问,如果被别有用心的人盯上就很容易给你的系统带来重大的破坏,所以我们应该限制访问. 请注意本例使用的是Solr7. Solr集成了以下几 ...

  5. VMware参数disk.EnableUUID生效扫描不出来UUID

    问题描述:搭建RAC中的共享磁盘,在一个节点上部署磁盘,另一个节点加入共享磁盘,使用扫描UUID的方法,但是莫名其妙一直扫描不出来UUID,使用了各种各样的方法,一个星期时间接近崩溃,又搞了一下午的测 ...

  6. python中使用mock模块返回数据

    mock是辅助单元测试的一个模块.它允许您用模拟对象替换您的系统的部分,并对它们已使用的方式进行断言. mock在python3中已经被集成到了unittest单元测试框架中,所以,可以直接使用. m ...

  7. 安装模块中出现的问题:不是内部或外部命令、pip 命令不存在、Unknown or unsupported command 'install'

    #cmd下python.pip不是内部或外部命令——表示环境变量没有加# path中新增1.python的安装目录# 2.python下scripts的目录 #提示 pip 命令不存在——表示环境变量 ...

  8. Burp Suite抓包使用步骤

    Burp Suite抓包工具的操作步骤见安装步骤那篇博客 检查是否存在漏洞,就看拦截之后修改过的数据是否写进了数据库 举例一.上传文件 1.打开Burp.调整Proxy-Intercept-Inter ...

  9. maven-shade-plugin插件未生效原因分析

    今天在项目的pom文件中引入maven-shade-plugin插件,构建一个uber-jar(包含所有依赖的jar包),但是诡异的事情出现了,执行mvn package后生成的jar包竟然没有包含被 ...

  10. 栈帧的内部结构--局部变量表(Local Variables)

    每个栈帧中包含: 局部变量表(Local Variables) 操作数栈(Opreand Stack) 或表达式栈 动态链接 (Dynamic Linking) (或指向运行时常量的方法引用) 动态返 ...