Git企业级项目管理实战

article/2025/8/4 21:20:07

目录

1. 准备工作

2. 添加成员

2.1 添加企业成员

2.2 添加项目成员

2.3 添加仓库开发人员

3. 开发场景 - 基于git flow模型的实践

3.1 新需求加入

3.2 修复测试环境 Bug

3.3 修改预发布环境Bug

3.4 修改正式环境 Bug

3.5 紧急修复正式环境 Bug

4. 拓展阅读

4.1 其他DevOps研发平台

4.2 拓展实践


1. 准备工作

DevOps研发平台:

Gitee 企业版 - 企业级 DevOps 研发效能平台https://gitee.com/enterprises

随便填写。

进入企业工作台。

创建项目。

选择敏捷项目,点击下一步。

完善信息,点击新建。

点击代码,新建仓库。

填写仓库的信息,点击新建。

2. 添加成员

这里我们要添加成员,我们必须先给企业添加成员。

2.1 添加企业成员

2.2 添加项目成员

2.3 添加仓库开发人员

3. 开发场景 - 基于git flow模型的实践

3.1 新需求加入

现有一个订单管理的新需求需要开发,首先可以基于develop分支创建一个feature/hyb_order_20250601_pay分支。

这里新建的时候给我们报错了,已经有feature分支了,这个分支在我们创建仓库的时候就已经被创建出来了。我们就不能使用feature/的方式来作为我们的分支名。我们创建仓库的时候分支模型选择生产/开发模型(支持master/devplop类型分支)的模型其实是符合我们的预期的。所以我们把之前创建的删掉,重新来创建一下。

我们重新创建仓库。

选择生产/开发模型,点击创建。然后重新创建分支。

点击新建,新分支就创建好了。

此时,我们就可以切换到这个分支上,然后拉到本地,就可以进行开发了。

 这次为了效率我就直接在上面修改了,但是实际开发的过程中不建议直接在上面修改。

点击+号,暂存更改。

填写提交信息,点击提交。

我们可以看到,远程分支下就有了我们提交的代码。

  1. 需求在feature/hyb_order_20231012分支开发完毕,这时研发人员可以将代码合并到develop分支,将其部署在开发环境的服务器中,方便开发人员进行测试和调试。

    a. 开发者在feature分支下发起请求评审

点击请求评审。

填写源分支和目标分支。

点击新建。

      b. 审查员审查代码

  审查之后就点测试通过,审查通过。

       c,审查通过,合并分支

       d. 合并成功,查看结果

这个流水线就可以部署我们的代码。

     2. 在develop下开发人员自测通过后,先确定下develop不存在未测试完毕的需求,然后研发人员可基于develop分支创建一个release/xxx分支出来,可交由测试人员进行测试。创建release分支要保证develop里面的内容是最新的,并且是经过我们测试完的代码。

此时这个分支就创建成功了,并且这个分支上有我们自测通过的代码,这个时候我们就可以将release分支部署到测试环境上了,比如说测试集群,预发布集群,此时测试人员就可以进行测试。

       3. 测试人员测试release通过后人包含测试环境和预发布环境的测试),就可将代码合并入master 。

在release分支下发起请求审批。

填写源分支和目标分支,并填写单子。

合并之后release分支也就没用用了,就可以勾选删除,最后点击新建。

最后点击测试通过和审查通过。

最后点击合并。

我们合并完之后确实把我们的release分支删除了。

此时,master分支上就有最新最稳定的代码了。

        4. 测试人员在master(正式环境)测试通过后,便可删除feature/xxx分支。

3.2 修复测试环境 Bug

在develop测试出现了Bug,建议大家直接在feature分支上进行修复。修复后的提测上线流程与新需求加入的流程一致。

3.3 修改预发布环境Bug

在release测试出现了Bug,首先要回归下develop分支是否同样存在这个问题。

如果存在,修复流程与修复测试环境Bug流程一致。

如果不存在,这种可能性比较少,大部分是数据兼容问题,环境配置问题等。

3.4 修改正式环境 Bug

在master测试出现了Bug,首先要回归下release和develop分支是否同样存在这个问题。

如果存在,修复流程与修复测试环境Bug流程一致。

如果不存在,这种可能性也比较少,大部分是数据兼容问题,环境配置问题等。

3.5 紧急修复正式环境 Bug

需求在测试环节未测试出Bug,上线运行一段时候后出现了Bug,需要紧急修复的。

有的企业面对紧急修复时,支持不进行测试环境的验证,但还是建议验证下预发布环境。

可基于master创建hotfix/xxx分支,修复完毕后发布到master验证,验证完毕后,将master 代码合并到develop分支,同时删掉hotfix/xxx分支。

4. 拓展阅读

4.1 其他DevOps研发平台

DevOps_DevOps 解决方案_一站式 DevOps_开发者工具 | 腾讯云 CODING DevOpshttps://coding.net/阿里云云效_云效_云原生时代新DevOps平台-阿里云https://www.aliyun.com/product/yunxiao

4.2 拓展实践

阿里飞流flow分支模型,及项目版本管理实践

项目版本管理的最佳实践:飞流Flow(阿里AoneFlow)篇-CSDN博客https://blog.csdn.net/bbcckkl/article/details/111087267


http://www.hkcw.cn/article/VMoYTItUCO.shtml

相关文章

go环境配置

下载对应版本的 go 版本 https://go.dev/dl/ 配置 vim ~/.zshrc export GOROOT/usr/local/go export PATH$PATH:$GOROOT/binsource ~/.zshrc >>>>>> go versiongoland 配置: 🔍 一、什么是GOPATH? GOPATH 是旧的项目结…

MySql(十二)

目录 MySql约束 1.添加主键约束 语法格式 1)创建一个带主键的表 查看表结构 2)创建表的时候指定主键名称 查看表结构 3)创建一个表然后,然后再使用alter为列添加主键 查看表结构 4)为表添加数据 1---正常数据 2---主键…

chrome.runtime.sendMessage 和 new FormData()

chrome.runtime.sendMessage 是Chrome扩展程序API中的一个方法,可用于背景脚本和内容脚本之间的消息传递。 new FormData() 提供了一种方便的方式来构建表单数据集。 在Chrome插件中,在 background.js 和 content.js 进行通信时使用了使用new FormData()…

数据结构-排序-排序的七种算法(2)

一,七种算法的介绍和比较 二,冒泡排序 原理:重复遍历列表,比较相邻元素,如果顺序错误就交换它们 时间复杂度: 最好:O(n)(已有序时) 平均:O(n) 最坏&#x…

【目标检测】backbone究竟有何关键作用?

backbone的核心在于能为检测提供若干种感受野大小和中心步长的组合,以满足对不同尺度和类别的目标检测。

JAVA实战开源项目:精简博客系统 (Vue+SpringBoot) 附源码

本文项目编号 T 215 ,文末自助获取源码 \color{red}{T215,文末自助获取源码} T215,文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…

IO流1——体系介绍和字节输出流

什么是io流 io流分类 纯文本文件: windows自带的记事本打开能读懂的 经验证: word,excel不是, txt, md的是纯文本文件 !!!! 字节输出流 io流体系 抽象类不能直接创建他们的对象…

告别复杂操作!电脑极简风格计时使用

无论是工作、学习还是日常生活,这款小巧实用的计时工具都能成为你掌控时间的好帮手。特别适合需要频繁切换正计时、倒计时和查看当前时间的场景。界面简洁,操作便捷,助你高效管理每一刻。 这是一款免安装的工具,下载后可直接打开…

湖北理元理律师事务所:个人债务管理的温度与精度

湖北理元理律师事务所:个人债务管理的温度与精度 面对信用卡、网贷、医疗债等多重债务压力,普通人常陷入“拆东墙补西墙”的恶性循环。湖北理元理律师事务所通过计划集团公司服务平台,推出“有温度的债务优化计划”,其人性化设计…

启动你的RocketMQ之旅(七)-Store存储原理

前言: 👏作者简介:我是笑霸final。 📝个人主页: 笑霸final的主页2 📕系列专栏:java专栏 📧如果文章知识点有错误的地方,请指正!和大家一起学习,一…

无标注数据如何提升LLM推理能力?熵最小化 提升LLM自信度

熵最小化 提升LLM自信度 ——熵最小化(Entropy Minimization,EM),如何在不使用任何标注数据的情况下,提升大语言模型(LLMs)在数学、物理和编程等复杂推理任务上的表现。 1. 什么是熵最小化? 熵在机器学习中衡量模型输出的不确定性。熵越小,模型对输出越“自信”(概率…

[yolov11改进系列]基于yolov11引入多尺度空洞注意力MSDA的python源码+训练源码

【MSDA介绍】 本文提出了一种新颖的多尺度空洞 Transformer,简称DilateFormer,以用于视觉识别任务。原有的 ViT 模型在计算复杂性和感受野大小之间的权衡上存在矛盾。众所周知,ViT 模型使用全局注意力机制,能够在任意图像块之间建…

LCA(最近公共祖先)与树上差分

LCA: 我们先看一道例题洛谷p3379 这道题就是LCA的模板题 LCA大抵有三种方法处理,我们这里只讲两种 分别是Tarjan和倍增法,也分别是离线和在线算法 我们这里先讲Tarjan Tarjan: 一提到Tarjan这个名字,相信大家都…

PCIe—TS1/TS2 之Polling下的应用(一)

前文 训练序列有序集用于比特对齐、符号对齐以及交换物理层参数。2.5GT/s和5GT/s速率时,训练序列有序集不会加扰,只用8b/10b 编码。但到8GT/s及以上速率时,采用128b/130b编码,符号有可能加扰有可能不加扰,具体参阅SPEC物理层章节,后续可能会写。 训练序列(TS1或…

Spring AI调用Ollama+DeepSeek

文章目录 Spring AI集成DeepSeek申请api_keySpringBoot工程 Spring AI聊天模型概述ChatClient接口角色预设流式响应 ChatModel接口实现简单的对话提示词 函数调用函数调用实现 AI调用Ollama下载并安装 Ollama拉取 DeepSeek 模型代码测试 Spring AI Spring AI是一个AI工程领域的…

maven中的maven-antrun-plugin插件详解

1. 核心功能2. 典型使用场景3. 配置示例4. 关键配置项5. 优缺点分析6. 最佳实践7. 常见问题8. 使用案例1. 基本配置2. 常用 Ant 任务示例文件操作执行系统命令条件判断 3. 绑定到不同生命周期阶段4. 传递参数到 Ant 脚本5. 跳过任务执行6. 调试与日志7. 完整示例 总结 maven-an…

1Remote远程会话管理以及一键启动虚拟机

1Remote远程会话管理以及一键启动虚拟机 前言 vmware中安装的虚拟机命令行没有右键粘贴功能,想用ssh但又得启动虚拟机又得连接SSH,本文使用开源的1Remote以及windows脚本来实现一键启动虚拟机并连接SSH。 实现过程 下载1Remote 下载地址&#xff1a…

Linux基础 文件描述符,重定向及缓冲区理解

&#x1f3d9;️正文 1、文件描述符 在使用 C语言 相关文件操作函数时&#xff0c;可以经常看到 FILE 这种类型&#xff0c;不同的 FILE* 表示不同的文件&#xff0c;实际进行读写时&#xff0c;根据 FILE* 进行操作即可。 #include<iostream> #include <cstdio>…

Vue 核心技术与实战智慧商城项目Day08-10

1.项目演示 2. 项目收获 3. 创建项目 4. 调整初始化目录 5. vant 组件库 6. 其他 Vue 组件库 7. vant 全部导入 和 按需导入 全部导入&#xff1a; 按需导入&#xff1a; 8. 项目中的 vw 适配 记得执行yarn serve module.exports {plugins: {postcss-px-to-viewport: {// vw适…

MacroDroid安卓版:自动化操作,让生活更智能

在智能手机的日常使用中&#xff0c;我们常常会遇到一些重复性的任务&#xff0c;如定时开启或关闭Wi-Fi、自动回复消息、根据位置调整音量等。这些任务虽然简单&#xff0c;但频繁操作会让人感到繁琐。MacroDroid安卓版正是为了解决这些问题而设计的&#xff0c;它是一款功能强…