Git-团队协作工作流

前言

  • 一、工作流概述
  • 二、Git flow
    • 1.主要流程
    • 2.优缺点
    • 3.适用场景
  • 三、Github flow
    • 1.主要流程
    • 2.优缺点
    • 3.适用场景
  • 四、Gitlab flow
    • 1.主要流程
    • 2.优缺点
    • 3.适用场景
  • 总结
      • 参考

一、工作流概述

开发人员通过Git可以记录和追踪代码的变化,包括添加、删除和修改文件。如果是单人进行开发,可以很方便进行研发和发布等工作。但是实际工作中都是团队协作进行多功能点并行开发,还涉及测试环境、集成环境和生产环境的打包发布,以及线上bug修复等,如何将以上工作进行协调,这就需要一套完整的代码管理和版本控制的流程规范。
而在团队中使用Git进行协作开发时,各个成员遵循的一套代码管理和版本控制的规范流程就是Git工作流。根据实际工作经验,被广泛使用的Git工作流为:Git flow、Github flow、Gitlab flow。

二、Git flow

在这里插入图片描述

1.主要流程

  • master是最稳定分支,其中代码是最稳定的、其中代码已经验证充分并且已发布到生产环境,可以通过master跟踪生产环境版本发布情况。
  • develop是主开发分支,feature分支和release分支都是从此分支拉取。可以通过develop跟踪开发过程中的版本情况。
  • feature:功能分支,主要是需要开发新功能从develop进行拉取,开发完成后合并回develop分支。
  • elease:预发布分支,主要是为发布做准备,从develop拉取然后在预发环境进行验证,用来修复一些bug。
  • hotfix:热修复分支,当生产环境遇到需要紧急修复的情况,从master进行拉取进行修复并发布。

2.优缺点

优点:规则明确详细、每步操作都有详细的操作规范、适合各种复杂情况
缺点:规则复杂、学习成本高、分支维护复杂

3.适用场景

  • 团队成员多、项目数量多
  • 基于版本发布的开发模式、不适合持续发布模式
  • 支持多版本并行开发模式

三、Github flow

相对于git flow复杂的分支管理模式,github flow的整个工作流相对简化了很多。
在这里插入图片描述

1.主要流程

  • main/master 分支:用于发布正式版本的分支,只有待发布的代码才会被合并到该分支。
  • feature分支:用于开发新功能的分支。每个功能都应该在一个单独的 feature 分支上进行开发,开发完成后再合并到 main/master 分支。

2.优缺点

  • 优点:分支管理简单明了
  • 缺点:不适合复杂情况

3.适用场景

  • 小团队、项目数量少
  • 敏捷开发、持续迭代和集成

四、Gitlab flow

1.主要流程

  • main/master 分支:用于发布正式版本的分支。 与GitHub Flow 中的主干分支类似,只有可发布的代码会被合并到该分支。
  • feature 分支:用于开发新功能的分支。每个功能都应该在一个单独的 feature 分支上进行开发,开发完成后再合并到main/master 分支。
  • bugfix 分支:用于修复 Bug 的分支。当出现 Bug 时,开发者应该从 main/master分支上创建一个 bugfix 分支进行修复,并将修复后的代码合并到 main/master 分支。
  • hotfix分支:用于紧急修复问题的分支。该分支是在 master 分支上针对生产环境的紧急修复,Bug 修复或安全漏洞修复等。

2.优缺点

  • 优点:具有较为简单的分支管理策略
  • 缺点:不适合复杂情况

3.适用场景

  • 适合中小团队和企业的敏捷开发环境

总结

git工作流主要是团队在协作开发中需要遵守的一套代码管理和版本控制的流程规范,广泛应用的Git Flow、GitHub Flow、GitLab Flow工作流都有其合适的场景和特点。需要根据项目的具体需求和团队规模选择合适的工作流。

参考

1.git flow工作流:https://nvie.com/posts/a-successful-git-branching-model/

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【自动化测试】Appium环境搭建与配置-详细步骤,一篇带你打通...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、Node.js环境搭…

【Python大数据笔记_day09_hive函数和调优】

hive函数 函数分类标准[重点] 原生分类标准: 内置函数 和 用户定义函数(UDF,UDAF,UDTF) ​ 分类标准扩大化: 本来,UDF 、UDAF、UDTF这3个标准是针对用户自定义函数分类的; 但是,现在可以将这个分类标准扩大到hive中所有的函数,…

MyBatis CURD操作深度解析

文章目录 简单查询操作插入、更新和删除操作selectKey元素的作用结语 🎈个人主页:程序员 小侯 🎐CSDN新晋作者 🎉欢迎 👍点赞✍评论⭐收藏 ✨收录专栏:MyBatis ✨文章内容: CURD操作 &#x1f9…

Alibaba微服务组件Nacos注册中心

1. 什么是 Nacos 官方:一个更易于构建云原生应用的动态 服务发现( Nacos Discovery ) 、 服务配置( Nacos Config ) 和服务管理平台。 集 注册中心配置中心服务管理 平台 Nacos 的关键特性包括: 服务发现和服务健康监测 动态配置服务 动态 DNS 服务 服务及其…

ps5计时计费软件安装教程,佳易王电玩店计时收费系统

ps5计时计费软件安装教程,佳易王电玩店计时收费系统 一、佳易王电玩PS5游戏厅计时计费软件部分功能简介: 1、计时计费功能 :开台时间和所用的时长直观显示,每3秒即可刷新一次时间。 2、销售商品功能 :商品可以绑定桌…

2023双十一爆冷收场,订单后暗藏这些电商痛点问题需要注意

打开某软件的瞬间,手不小心抖一下就进入了淘宝,而且无法第一时间准确找到关闭按钮。相信不少人都在这个双十一通过开屏广告为淘宝“贡献”至“超8亿”的访问量,更有网友辣评:“现在打开别的软件跳转淘宝的速度都比直接打开淘宝要快…

MySQL怎样处理排序⭐️如何优化需要排序的查询?

前言 在MySQL的查询中常常会用到 order by 和 group by 这两个关键字 它们的相同点是都会对字段进行排序,那查询语句中的排序是如何实现的呢? 当使用的查询语句需要进行排序时有两种处理情况: 当前记录本来就是有序的,不需要进…

折爱心教程(简单版本)

文章目录 1.折出双三角形2.向中心折叠3.形成正方形4.对折正反面相同5.向中心折6.外侧角向中心折7.顶部三角形向下折叠注意参考资料 我怎么也没有想到,身为混迹职场多年的老油子,竟然还能遇到折纸这种硬性task。 可是给的教程步骤省略太多了,看…

uni-app:如何配置uni.request请求的超时响应时间(全局+局部)

方法一:全局配置响应时间 一、进入项目的manifest.json的代码视图模块 二、写入代码 "networkTimeout": {"request": 5000 }, 表示现在request请求响应时间最多位5秒 方法二:局部设置响应时间 一、直接在uni.request中写入属性…

深度学习YOLOv5车辆颜色识别检测 - python opencv 计算机竞赛

文章目录 1 前言2 实现效果3 CNN卷积神经网络4 Yolov56 数据集处理及模型训练5 最后 1 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 **基于深度学习YOLOv5车辆颜色识别检测 ** 该项目较为新颖,适合作为竞赛课题方向&#xff0…

最新AI创作系统ChatGPT系统运营源码/支持最新GPT-4-Turbo模型/支持DALL-E3文生图

一、AI创作系统 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如…

高级数据结构——树状数组

树状数组(Binary Index Tree, BIT),是一种一般用来处理单点修改和区间求和操作类型的题目的数据结构,时间复杂度为O(log n)。 对于普通数组来说,单点修改的时间复杂度是 O(1),但区间求和的时间复杂度是 O(n…

【创作活动】作为程序员的那些愚蠢瞬间

作为一名程序员,我相信你一定遇到过这种情况:在写代码的时候,遇到了一些bug,在当下怎么检查都查不出问题出现在哪,等过几天后突然发现困扰自己的问题原来这么简单,突然觉得自己很蠢。这种情况在我身上也发生…

人工智能-深度学习之序列模型

想象一下有人正在看网飞(Netflix,一个国外的视频网站)上的电影。 一名忠实的用户会对每一部电影都给出评价, 毕竟一部好电影需要更多的支持和认可。 然而事实证明,事情并不那么简单。 随着时间的推移,人们对…

漏洞分析 | 漏洞调试的捷径:精简代码加速分析与利用

0x01前言 近期,Microsoft威胁情报团队曝光了DEV-0950(Lace Tempest)组织利用SysAid的事件。随后,SysAid安全团队迅速启动了应急响应,以应对该组织的攻击手法。然而,在对漏洞的分析和复现过程中&#xff0c…

使用Microsoft Dynamics AX 2012 - 1. 什么是Microsoft Dynamics AX?

Dynamics AX是Microsoft的核心业务管理解决方案,旨在满足中型公司和跨国组织的要求。基于 DynamicsAX基于最先进的体系结构和深度集成,在确保高可用性的同时,展现了全面的功能。 在AX 2012版中,Dynamics AX显示了大量新功能和增强…

Postman内置动态参数以及自定义的动态参数

近期在复习Postman的基础知识,在小破站上跟着百里老师系统复习了一遍,也做了一些笔记,希望可以给大家一点点启发。 一)内置动态参数 {{$timestamp}} 生成当前时间的时间戳{{$randomInt}} 生成0-1000之间的随机数{{$guid}} 生成随…

⑩【MySQL】存储引擎详解, InnoDB、MyISAM、Memory。

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ 存储引擎 ⑩【MySQL存储引擎】1. MySQL体系结构…

隐私协议 Secret Network 宣布使用 Octopus Network 构建的 NEAR-IBC 连接 NEAR 生态

2023年11月 NearCon2023 活动期间,基于 Cosmos SDK 构建的隐私协议 Secret Network,宣布使用 Octopus Network 开发的 NEAR-IBC,于2024年第一季度实现 Secret Network 与 NEAR Protocol 之间的跨链交互。 这将会是Cosmos 生态与 NEAR 之间的首…

java VR全景商城免费搭建 saas商城 b2b2c商城 o2o商城 积分商城 秒杀商城 拼团商城 分销商城 短视频商城

1. 涉及平台 平台管理、商家端(PC端、手机端)、买家平台(H5/公众号、小程序、APP端(IOS/Android)、微服务平台(业务服务) 2. 核心架构 Spring Cloud、Spring Boot、Mybatis、Redis 3. 前端框架…