一文读懂【Git 工作流】

news2024/10/6 4:01:43

文章目录

  • 一、Git分支管理
  • 二、Git日志规范
  • 三、Git Flow工作流

一、Git分支管理

我们在实际工作中会创建很多分支以便于不同场景下的开发,但是如果没有分支规范就会造成分支杂乱,大家往往也搞不清楚某一个分支是在做什么,下面我们就介绍一下我们常用的并且推荐大家使用的分支类型。

Master: 主分支

  • 主要是稳定的版本分支,正式发布的版本都从Master拉。

Develop: 开发分支

  • 更新和变动最频繁的分支,正常情况下开发都是在Develop分支上进行的。

Release:预发行分支

  • 一般来说,代表一个版本的功能全部开发完成后递交测试,测试出Bug后进行修复的分支。

Features: 功能分支

  • 里面包含了每个程序员开发的功能点。Feature开发完成后合入Develop分支。

HotFix: 修复分支

  • 这个分支的存在是在已经正式上线的版本中,发现了重大Bug进行修复的分支。

在这里插入图片描述

二、Git日志规范

在一个团队协作的项目中,开发人员需要经常提交一些代码去修复bug或者实现新的feature。而项目中的文件和实现什么功能、解决什么问题都会渐渐淡忘,最后需要浪费时间去阅读代码。但是好的日志规范commit messages编写有帮助到我们,它也反映了一个开发人员是否是良好的协作者。

目前,社区有多种 Commit message 的写法规范。来自Angular 规范是目前使用最广的写法,比较合理和系统化。建议使用如下:

# fix:修复支付宝支付bug
#
# 1,修复支付完成后未查询支付状态问题
# 2,增加定时任务保证支付状态完整
#
# link:http://github.com/ftd/shopmall/issue001

三、Git Flow工作流

我们现在已经了解了Git的分支,包括分支有哪些类型,什么情况下使用什么类型的分支,以及提交的格式规范等。不过往往在一个团队人数较多,创建的分支也比较多的时候,还是会带来很多分支操作上的困扰。那有没有一个什么好的流程来规范大家呢,针对这些问题,建议大家使用Git Flow的工作流模式。

「1,主分支流程」

  • master分支记录了每次版本发布历史和tag标记。
  • develop分支记录了所有开发的版本历史。
  • develop分支仅第一次创建时从master分支拉取。
    在这里插入图片描述

「2,开发流程」

  • feature分支是从develop分支拉取的分支。
  • 每个feature完成后需合并到develop分支。
    在这里插入图片描述

「3,提测发布流程」

  • release分支是在所有功能开发自测完成后,从develop分支拉取的分支。
  • release分支一旦创建后,就不再从develop分支拉取,该分支只做bug修复,文档生成和其他面向发布的任务。
  • release分支测试完成,达到上线标准后,需合并回master分支和develop分支。
    在这里插入图片描述

「4,bug修复流程」

  • hotfix分支是在线上出现bug之后,从master分支拉取的分支。
  • hotfix分支测试完成后,需合并回master分支和develop分支。
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/424767.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

车企围攻整车OS,这张“新王牌”怎么打?

今年2月23日,梅赛德斯--奔驰发布了打造自有操作系统MB.OS的具体计划,该操作系统将在本年代中期随全新梅赛德斯-奔驰模块化架构(MMA)平台推出,预计2025年用户将能体验到它的强大功能。 据悉,基于覆盖芯片到…

YOLOv8运行参数解读

整理来自yolov8官方文档常用的一些命令行参数,官方文档YOLOv8 Docs yolov8命令行的统一运行格式为: yolo TASK MODE ARGS其中主要是三部分传参: TASK(可选) 是[detect、segment、classification]中的一个。如果没有显式传递,YO…

智慧水务软件-科学系统架构-数字化管理

平台概述 柳林智慧水务软件是以物联感知技术、大数据、智能控制、云计算、人工智能、数字孪生、AI算法、虚拟现实技术为核心,以监测仪表、通讯网络、数据库系统、数据中台、模型软件、前台展示、智慧运维等产品体系为支撑,以城市水资源、水生态、水环境…

VGG论文翻译及复现

VGG网络实现:https://blog.csdn.net/weixin_43912621/article/details/127852595 论文地址:https://arxiv.org/abs/1409.1556 VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION 用于大规模图像识别的深度卷积网络 Abstract In t…

Salesforce Admin管理员中文学习教程,如何高效筛选出具有Admin权限的用户!

组织中最常见的错误之一就是拥有太多具有系统管理员简档的用户。不幸的是,这在某些行业中非常普遍。 实际上这存在着很大的潜在风险。拥有这些权限的用户可能会暴露、窃取或删除组织中的数据,甚至影响到其他用户。防止过多的管理员访问权限是保护Salesf…

基于Python机器学习、深度学习技术提升气象、海洋、水文领域实践应用能力

目录 专题一、Python软件的安装及入门 专题二、气象常用科学计算库 专题三、气象海洋常用可视化库 专题四、爬虫和气象海洋数据 专题五、气象海洋常用插值方法 专题六、机器学习基础理论和实操 专题七、机器学习的应用实例 专题八、深度学习基础理论和实操 专题九、深…

摸鱼也可以效率翻倍:Python 统计 gitlab 代码量,定量统计发给领导

嗨害大家好鸭!我是爱摸鱼的芝士❤ 一、确定需求 需求是公司大领导想要了解每周研发提交的代码量。 因为研发人员比较多, 想着用 python 做个自动化, 定时统计代码量并发送邮件给领导。 二、统计gitlab代码 首先安装第三方库python-gitlab&…

如何提升智能文档处理识别精度?合合信息“版面分析”实现新突破

春季是繁忙的播种季,学生党迎来了开学季和紧张的研究生复试,职场人士也需要处理新签业务带来的大量不同类型的文件,比如合同、发票、档案等。这些文件在被拍照、扫描成电子文档的过程中,时常存在漏字、错位现象。究其原因&#xf…

kali的下载与安装(VM虚拟机)

目录 一、介绍 二、下载安装 (一)官网下载kali (二)官网下载VM虚拟机 (三)安装VM虚拟机 (三)VM虚拟机里面安装kali系统 一、介绍 (1)Kali Linux是一种基…

基于Chatbot UI 实现ChatGPT对话-V1.0

基于Chatbot UI 实现ChatGPT对话-V1.0 前端基于开源项目:chatbot-ui进行二次开发,感兴趣的小伙伴可以自行研究。 本项目搭建初衷:在无法科学上网的情况下,实现ChatGPT对话。还有规避官方聊天时,长时间无链接导致的问题…

“GPT全家桶”,喂不饱商汤科技

加码追风大模型,终究没能让商汤科技找回投资者们的信心。 4月10日,商汤发布了“日日新SenseNova”大模型体系,且一口气展示了多个产品,有类ChatGPT产品“商量”(SenseChat)、与Midjourney画风一致的秒画平台…

语句覆盖率\条件覆盖率\路径覆盖率\分支覆盖率的区别您知道吗

代码覆盖率 代码覆盖率是一种度量,它描述了程序源代码已经过测试的程度,它可以帮助我们评估测试执行的效率, 简单来理解代码覆盖率就是单元测试中代码执行量与代码总量之间的比率。代码覆盖率主要包括语句覆盖率、分支覆盖率、条件覆盖率和路…

【Linux】实现守护进程 | 以tcpServer为例

本文首发于 慕雪的寒舍 本文将以tcp服务器代码为基本,讲述如何将进程守护进程化,后台运行 1.守护进程 所谓守护进程,就是和其他进程没有关系的进程;其独立运行于系统后台,除非自己退出或收到信号终止,否则…

逆向-还原代码之(*point)[4]和char *point[4] (Arm 64)

// source code #include <stdio.h> #include <string.h> #include <stdlib.h> /* * char (*point)[4] // 数组指针。 a[3][4] // 先申明二维数组,用它来指向这个二维数组 * char *point[4] // 指针数组。 a[4][5] // 一连串的指针…

编程语言,TIOBE 4 月榜单:黑马出现了

TIOBE 4 月榜单已经发布了&#xff0c;一起来看看这个月编程语言排行榜有什么变化吧&#xff01; C 发展依旧迅猛 在本月榜单中&#xff0c;TOP 20 的变动不大&#xff0c;Python、C、Java 、 C 和C#依然占据前五。甚至排名顺序都和上个月一样没有变动。 同时&#xff0c;Rus…

【图形学】多边形裁剪算法综述

系列综述&#xff1a; &#x1f49e;目的&#xff1a;本文是个人学习多边形裁剪知识整理的&#xff0c;整理期间努力理解论文作者含义&#xff0c;并增加了自己的详述和注解。 &#x1f970;来源&#xff1a;材料主要源于多边形裁剪相关论文进行的&#xff0c;每个知识点的学习…

第三十一天 Linux介绍和基础命令

目录 1.前言 1.1 什么是Linux 1.2 为什么要学Linux 1.3 学完Linux能干什么 2.Linux简介 2.1 主流操作系统 2.2 Linux发展历史 3. Linux安装 3.1 安装方式介绍 3.2 安装VMware 3.3 安装Linux 3.4 网卡设置 3.5 安装SSH连接工具 3.6 Linux目录结构 4.Linux常用命令…

洛谷P8772 [蓝桥杯 2022 省 A] 求和 C语言/C++

[蓝桥杯 2022 省 A] 求和 题目描述 给定 nnn 个整数 a1,a2,⋯,ana_{1}, a_{2}, \cdots, a_{n}a1​,a2​,⋯,an​, 求它们两两相乘再相加的和&#xff0c;即 Sa1⋅a2a1⋅a3⋯a1⋅ana2⋅a3⋯an−2⋅an−1an−2⋅anan−1⋅anSa_{1} \cdot a_{2}a_{1} \cdot a_{3}\cdotsa_{1} \cd…

SpringCloud学习(五)——Nacos配置管理

文章目录1. Nacos实现配置管理2. 微服务拉取配置2.1 拉取优先级2.2 导入依赖2.3 添加注解2.4 配置热更新3. 使用 ConfigurationProperties3.1 使用注解3.2 测试4. 多环境共享配置4.1 添加依赖4.2 配置文件4.3 更改属性4.4 测试4.5 配置优先级1. Nacos实现配置管理 当微服务部署…

【测试面试】吐血整理,大厂测试开发岗面试题(1~4面),拿下年40w...

目录&#xff1a;导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09;前言 自动化测试面试题&am…