Github Flow工作流简单介绍(以部署为中心的开发模式)

news/2025/3/15 4:39:21/

前言

这篇文章主要介绍Github Flow的理念,以下内容来源于《Github入门与实践》。
Github Flow是以部署为中心的开发模式,通过简单的规则,持续高速且安全地进行部署。而Gitflow则是以发布为中心的分支管理模型,它提供了一种更灵活的方式来管理代码库中的更改。可以参考《Gitflow工作流简单介绍(以发布为中心的开发模式)》

基本概念

整体的开发流程如下,令master分支时常保持可以部署的状态;进行新的作业时要从master分支创建新分支,新分支名称要具有描述性;在新建的本地仓库分支中进行提交;在GitHub端仓库创建同名分支,定期push;需要帮助或反馈时创建Pull Request,以 Pull Request进行交流;让其他开发者进行审查,确认作业完成后与master分支合并;与master分支合并后立刻部署。
由于流程中基本只需为特定作业创建特定分支,从开始作业到进行部署之间的过程十分简单,可以降低开发者学习开发流程的成本。
在这里插入图片描述

特点

  1. 随时部署,没有发布的概念
    这个流程必须遵守“令master分支随时保持可以部署的状态”,也就意味着每隔几小时就可能进行一次部署,所以不存在发布的概念(“发布”是指创建软件版本的过程,使得可以管理和追踪不同版本的软件,并提供用户下载和使用。“部署”是指将软件版本从开发环境转移到生产环境的过程,让软件可以运行在目标平台上,并向用户提供服务)。
    不过要注意,没有进行过测试或者测试未通过的代码绝不可以合并到master分支。因此势必要用到持续集成等手段。
  2. 进行新的作业时要从master分支创建新分支
  3. 在新创建的分支上进行细粒度的提交
    有意识地减小提交规模,一方面便于清楚地表达目的,另一方面有助于其它开发者对Pull Request进行审查。

http://www.ppmy.cn/news/980306.html

相关文章

机器学习小记-序

机器学习是人工智能的一个重要分支,根据学习任务的不同,可以将机器学习分为以下几类: 监督学习(Supervised Learning): 应用场景:监督学习适用于已标记数据集的任务,其中每个样本都有…

大气预报模式:非结构化质心Voronoi网格MPAS跨尺度、可变分辨率模式应用

查看原文>>>最新MPAS跨尺度、可变分辨率模式实践技术应用及典型案例分析 目录 专题一、MPAS 模式基本信息 专题二、MPAS 代码获取及结构 专题三、MPAS 移植、编译及运行实践 专题四、MPAS 全球均匀网格的运行 专题五、MPAS 全球非均匀网格的运行 专题六、MPAS …

函数可重入性

什么是函数可重入性? 函数可重入性是 指一个函数在被多个并发执行的实例调用时,能够正确地处理数据和状态,而不会出现冲突或错误的结果。 可重入函数能够保证每个实例之间的数据是独立的,不会相互干扰或产生竞争条件。这种特性对…

同步网盘使用中的五大突出优势

同步网盘是一种流行的云存储解决方案,它可以将您本地计算机上的文件与云端存储空间同步,以保证文件的备份和访问。那么,同步网盘使用中的突出优势是什么呢?下面就为您详细介绍。 一、数据备份 同步网盘最大的优势之一就是可以自动…

ubuntu下tmux安装

目录 0. 前言1. Tmux介绍2. 安装3. 验证安装 0. 前言 本节安装tmux终端复用工具,在Ubuntu中运行一些服务或脚本的时候往往不能退出终端,需要一直挂着。在有图形界面的linux中你还可以新开一个终端去做别的事,但是在无界面linux中&#xff0c…

新增WebDB和ChatGPT组件,支持对ChatGPT资产进行纳管,JumpServer堡垒机v3.5.0发布

2023年7月24日,JumpServer开源堡垒机正式发布v3.5.0版本。在这一版本中,新生代数据库连接组件——问题终结者Chen强势来袭,替代原有的OmniDB组件,在兼容旧版本的同时,解决了旧组件性能不足的问题,为用户提供…

【AI】roop给视频换脸记录

环境 安装Anaconda3基于Anaconda3创建一个python3.10的环境安装Git安装ffmpeg 我的操作系统版本是Ubuntu 18.04.4 LTS(带GPU会快一点),以上所说的 环境请自行百度安装!快速使用 拉取项目 git clone gitgithub.com:VoidAndNull…

spring学习笔记十三

注解实现管理第三方Bean和为第三方Bean注入资源 1、添加pom坐标 <dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.16</version></dependency> 2、SpringConfig配置类 Configuratio…