git打tag和版本控制规范

我们在开发中经常会遇到要打tag的情况,但这个tag应该如何打呢?我不知道大家平时是怎么打的,但我基本就是从1.0.0开始进行往上递增,至于如何递增,基本凭感觉。今天同事新打了一个tag进行发版,然后被架构点名说命名没有按规范来,估计也是和我一样,凭感觉打。规范到底是怎样的呢?以下是我综合他们的讨论和查资料的一些总结。

文章目录

1、首先,我们为什么要打tag呢?
打tag的作用,就是给项目的开发节点。打上tag的同时,写上附带信息,可以方便项目日后维护过程中的回溯和复查。清晰的标签记录,有助于大家了解当前tag下项目的迭代的情况。首先附上我们项目乱打乱发财的tag大家看一下,自己平时打tag的节奏是否也和我们差不多。

上面的tag乱在哪里呢?

2、版本基本控制规范

首先版本号基本的规范是Major.Minor.Patch,也就是Major 是主版本号、Minor是次版本号、而 Patch 为修订号。每个元素必须以数值来递增。例如:1.9.1 -> 1.10.0 -> 1.11.0。只有三个号,并没有上图出现的那种四个号。

主版本号

每次一个比较大的功能的发版,可以理解为一次迭代,具体也可以根据自己开发的项目来定。每次递增时,次版本号和修订号都要归零。

次版本号

每次做出小的功能新增时,发布的版本号。每次递增时,修订号都要归零。

修订号

修复bug时发布的版本。

先行版本号可以被标注在修订号之后,先加上一个连接号再加上一连串以句点分隔的标识符来修饰。标识符必须由 ASCII 字母数字和连接号 0-9A-Za-z- 组成,且禁止留白。范例:1.0.0-alpha、1.0.0-alpha.1,被标上先行版本号则表示这个版本并非稳定,先行版的优先级低于相关联的标准版本,也就是1.0.0-alpha<1.0.0。所以平时应该比较少用到先行版本号。

相关推荐
Python私教14 小时前
AI 并行编码的 Worktree 生命周期:创建、隔离与安全回收
人工智能·git
互联网中的一颗神经元15 小时前
16 — 改写历史 rebase:搬家到新楼层,不是合并
git
互联网中的一颗神经元19 小时前
19 — 贮藏与清理:stash 是抽屉,gc 是打包箱
git
用户3301448676321 小时前
20 — 远程进阶:强制推送的保险绳——force-with-lease
git
Cooper2521 小时前
别急着改 Git 历史:rebase、cherry-pick、bisect 与 reflog 的安全操作顺序
git
刚入门的大一新生1 天前
Linux-版本控制器Git
git
扶苏10021 天前
同一个 Git 项目整出两份,切分支互不影响?两种方案实测
大数据·git·elasticsearch
ZJU_统一阿萨姆1 天前
【Git】Github 开源许可证详解
git·开源·github
Geek-Chow2 天前
Git 标签与发布流程:轻量标签、附注标签与签名标签
git·tags
wear工程师2 天前
Git 冲突怎么解决:别只删标记,先看懂暂存区的 1、2、3 阶段
git