Skip to content

标签tag

标签是 git 中用于给某个特定提交打标签的命令。标签通常用于标记重要的里程碑,如软件发布版本。

标签版本管理用法

  1. 使用标签标记版本:
    • 使用Git标签(tag)来标记重要的版本,如发布版本、里程碑版本等。
    • 标签是静态的,指向某个特定的提交,不会随着代码的更改而移动。
  2. 命名规范:
    • 使用语义化版本控制(Semantic Versioning,简称SemVer)来命名标签,如v1.0.0v1.1.0等。
    • SemVer规定了版本号由主版本号、次版本号和补丁版本号组成,并定义了它们的含义和更新规则。
  3. 发布新版本时打标签:
    • 当准备发布新版本时,在主分支上打上相应的标签,并发布到生产环境。
  4. 管理标签:
    • 定期检查和更新标签列表,确保标签的准确性和完整性。
    • 如有需要,可以删除或重新打标签。但请注意,重新打标签可能会导致混淆和不一致性,因此应谨慎操作。

使用

列出所有标签

bash
git tag

创建一个轻量级标签,轻量级标签直接指向某个提交对象,不包含其他信息。

bash
# 给当前 HEAD 指向的提交打标签 1.0.0
git tag 1.0.0

创建一个带注释的标签,带注释的标签存储了关于该标签的额外信息,通常建议使用这种标签,因为它包含了更多的元数据。

bash
git tag -a 1.0.0 -m "版本 1.0.0 发布"

创建标签并指定提交的哈希值,如果你想要给过去的某个提交打标签,可以使用提交的哈希值。

bash
# git tag <tagname> <commit-hash>
git tag 1.0.0 abcdef1

删除本地标签

bash
git tag -d 1.0.0

删除远程仓库的标签

bash
git push origin -d 1.0.0

推送标签到远程仓库,默认情况下,git push 不会推送标签。你需要明确指定要推送的标签。

bash
# 推送单个标签  
git push origin 1.0.0 
  
# 推送所有标签  
git push origin --tags

检出标签,虽然标签通常用于标记特定的提交,但你也可以检出一个标签,这会将你的工作目录切换到该标签所指向的提交状态。但请注意,这不会创建一个新的分支。

bash
git checkout 1.0.0

基于 1.0.0 标签创建一个名为 v1.0.0 的新分支

bash
git checkout -b v1.0.0 1.0.0