复杂软件版本如何使用git工具进行管理

news/2024/10/30 23:17:23/

1.需求说明

一个项目,如果长期开发下去,我们会碰到各种各样的客户,然后就会有各种各样的需求。这时候就会出现一个问题:如果我们的代码都是一个项目,客户的主体流程都是一样,但部分客户又有一些特别的定制需求,所以如果都混在一起去维护。后期维护的复杂度各方位都会增加不少。

针对这种情况,我们如何解决?git这个工具,给了我们很大帮助。这个可以世界级开源平台GitHub和Gitee来看,我们就能一目了然。

2.需要具体实现的功能

2.1.清晰软件版本号

首先从日常系统维护来看,我们比较容易清楚来看到平常都更新或者是修复了哪些功能。

版本的命名规则:3.0.9.22.0128

主版本号.子版本号.阶段版本号.日期版本号

  • 主版本号(1):当功能模块有较大的变动,比如增加多个模块或者整体架构发生变化。此版本号由项目决定是否修改。
  • 子版本号(1):当功能有一定的增加或变化,比如增加了对权限控制、增加自定义视图等功能。(此版本号由项目决定是否修改)
  • 阶段版本号(1):一般是 Bug 修复或是一些小的变动,要经常发布修订版,时间间隔不限,修复一个严重的bug即可发布一个修订版。(此版本号由项目经理决定是否修改)
  • 日期版本号(051021):用于记录修改项目的当前日期,每天对项目的修改都需要更改日期版本号。(此版本号由开发人员决定是否修改)

2.2.每个版本解决了什么问题

新功能:

功能优化:

BUG修复:

我们每个版本,都可以把上面三个维度(新功能、功能优化、BUG修复)来描述我们的系统更新了什么。

2.3.Git打标签与版本控制规范

从开源的项目来看,我们可以看到,开源的项目都是经过一段时间的开发和测试稳定过后,就会发布稳定版本。这时候就会出现标签

打标签的作用:就是给项目的开发节点,加上语义化的名字,也即功能版本的别名。 打上标签名的同时,写上附带信息,可以方便项目日后维护过程中的回溯和复查。 另外,也可以通过标签记录,大致了解当前项目的向下兼容性、API的修改和迭代情况。

3.具体实现

如何通过命令进行打标签,可以参考官方文档:Git - 打标签

我们这里来看看,一般我们在IDEA中的时候,是如何操作。

3.1.创建标签

 在实际的使用过程中,我们会对当时的版本备份,但同时后期我们会有回滚的需求。

如果要从一个版本号回滚到一个新的分支,我们该如何操作。


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

相关文章

数字人的新革命,BAT的“冲高”战场

配图来自Canva可画 ChatGPT横空出世,让人们看到了数字人的另一种可能,将ChatGPT与虚拟数字人融合,研发出更加智能化、拟人化的虚拟数字人成为数字人厂商的新命题、新方向。 2月份,岭南股份、风语筑、开普云等10多家公司&#xf…

java多线程同步技术基础

说明 当程序中出现多个进程对同一资源进行操作时,因为对数据的操作非常密集,可能会对资源过度操作,这时就需要用到线程的同步技术。 以一个抢红包程序为例,红包数量为3个,开启5个线程来模拟抢红包行为,红…

Python实现ACO蚁群优化算法优化卷积神经网络回归模型(CNN回归算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 蚁群优化算法(Ant Colony Optimization, ACO)是一种源于大自然生物世界的新的仿生进化算法&#xff0c…

深入学习MYSQL-使用触发器

触发器 每个表最多支持6个触发器,(insert,update,delete)之前和之后。 删除触发器 drop trigger trigger_name;insert 触发器  在INSERT触发器代码内,可引用一个名为NEW的虚拟表,访问被插入…

API测试| 了解API接口测试| API接口测试指南

什么是API? API是一个缩写,它代表了一个 pplication P AGC软件覆盖整个房间。API是用于构建软件应用程序的一组例程,协议和工具。API指定一个软件程序应如何与其他软件程序进行交互。 例行程序:执行特定任务的程序。例程也称为过…

搭建监控日志系统

在微服务或者集群架构中,一次请求的调用会跨多个服务(web,mysql,feign等)、多个模块(用户模块,商品模块等)、多个容器(用户模块可能有多个实例),这…

Unity之OpenXR+XR Interaction Toolkit 安装和配置

前言 XR Interaction Toolkit 是Unity基于OpenXR标准,发布的一套XR工具,目的是方便我们快速接入XR相关的SDK,并且做到兼容不同VR设备的目的,目前流行的VR设备如Oculus,Metal,HTC Vive,Pico等统统都支持。 所以我们今天的目的就是把XR Interaction Toolkit从导入到配置,…

Elastic Learned Sparse Encoder 简介:Elastic 用于语义搜索的 AI 模型

作者:Aris Papadopoulos, Gilad Gal 寻找意义,而不仅仅是文字 我们很高兴地与大家分享,在 8.8 中,Elastic 提供开箱即用的语义搜索。语义搜索旨在根据文本的意图或含义进行搜索,而不是词汇匹配或关键字查询。与传统的…