背景
无论是自己自由开发项目还是公司协同合作,随着软件的迭代升级,都需要一个比较规范(好区分)的标记来区分不同的软件版本。通常,我们使用不同的数字来表示不同的版本,例如大版本号加上小版本号等,不同的开发者会根据特殊的场景,对每个位数表述的含义进行定义。但往往还会有一些版本标记(tags)会放在这些数字前后,本文简要说明其作用和使用场景。
版本标记(Tags)
在 GitHub 中的版本标记(tags)通常用来标记代码库的重要快照或发布版本。对于 Go 语言(或任何其他开源项目),可以看到以下几种常见的版本标记:
Alpha 版本(alpha):
这些版本通常是第一个发布的预览版本,可能包含新特性和功能。
主要用于早期测试,可能会有很多不稳定和未完成的部分。
命名示例:v1.0.0-alpha
, v1.0.0-alpha.1。
Beta 版本(beta):
Beta 版本比 alpha 更稳定,已经完成了大部分功能。
主要用于更广泛的测试和反馈。
仍可能包含一些已知的缺陷。
命名示例:v1.0.0-beta
, v1.0.0-beta.1。
候选版本(Release Candidate,rc):
候选版本是接近正式发布的版本。
主要集中在修复 bug 和提高稳定性。
如果没有重大问题,候选版本可能会成为正式版本。
命名示例:v1.0.0-rc
, v1.0.0-rc.1。
正式发布版本(Release):
正式版本是稳定的、用于生产环境的版本。(即我们通常使用的版本)
通常包含所有新特性和 bug 修复。
命名示例:v1.0.0
, v1.1.0
, v2.0.0
补丁版本(Patch):
补丁版本通常是小版本更新,包含一些 bug 修复和小的改进。
命名示例:v1.0.1
, v1.1.1