Tag
Git 标签(Tag)是版本控制中的重要概念,用于标记代码库的特定状态,通常是重要的版本发布点。本文将介绍 Git 标签的基本概念、命名规范和常用操作。
命名规范
标准的版本号格式遵循语义化版本控制 (opens in a new tab)规范,语义化版本号格式为 MAJOR.MINOR.PATCH,具体定义如下:
MAJOR:主版本号,当做了不兼容的 API 修改时,需要增加主版本号。MINOR:次版本号,当做了向下兼容的功能性新增时,需要增加次版本号。PATCH:修订版本号,当做了向下兼容的问题修正时,需要增加修订号。
而标签名通常是在版本号前加上 v,即 vMAJOR.MINOR.PATCH。例如:v1.2.3。
如果是基于 hotfix 分支创建的 tag,则 tag 命名格式为 vx.x.x-hotfixN。例如:v1.2.3-hotfix1
预发布版本:alpha、beta 和 rc
许多软件在正式发布前会发布预览版或测试版,通常按照以下顺序:
-
alpha版:内部测试版。例如:v1.0.0-alpha.1α 是希腊字母的第一个,表示最早的版本,主要供内部开发者和测试人员使用。 -
beta版:公开测试版。例如:v1.0.0-beta.2β 是希腊字母的第二个,比 alpha 版发布得晚,主要供外部测试者和早期采用者使用。 -
rc版:候选发布版本(Release Candidate)。例如:v1.0.0-rc.1接近最终发行版的预览版,功能已完整,主要用于最后的测试和修复。
这些版本通常添加在主版本号后面,用连字符分隔。
标签操作
创建标签
# 创建一个基于当前 commit 的轻量标签
git tag <tag-name>
# 创建一个带注释的标签
# -a 用于创建一个带注释的标签(annotated tag)
git tag -a <tag-name> -m "Tag message"
# 创建一个基于指定 commit 的标签
git tag <tag-name> <commit-hash>查看标签
# 查看所有标签
git tag
# 查看特定标签的详细信息
git show <tag-name>删除标签
# 删除本地标签
git tag -d <tag-name>
# 删除远程标签
git push origin --delete <tag-name>推送标签
# 推送标签到远程仓库
git push origin <tag-name>
# 推送所有标签到远程仓库
git push origin --tags标签的重要性
在 Git 中使用标签非常重要,因为它们:
- 标记重要的版本节点,如正式发布版本。
- 便于回溯特定版本的代码。
- 有助于版本管理和发布流程的规范化。
- 方便团队成员和用户了解项目的发展历程。
- 与分支不同,标签是固定的,不会随着新的提交而移动,因此更适合标记特定的版本点。
使用规范的标签命名和管理,可以大大提高项目的可维护性和协作效率。