文章

git-tag

Git 中的 tag 用于给某次提交打上标记,常用于发布版本,支持附加说明。

git-tag

git tag

git tag 是 Git 中用来给特定提交(commit)打上“标签”(Tag)的命令,主要用于标记版本发布点,便于版本管理和查找。

标签的类型

轻量标签(Lightweight Tag)

  • 类似于一个不会变动的分支引用,只是给某个 commit 打个简单标记

  • 不包含额外元信息(作者、日期、注释)

  • 用法:

    1
    
    git tag v1.0.0
    

附注标签(Annotated Tag)

  • 是一个完整的对象,包含标签名、作者、日期、标签说明文字等信息

  • 推荐用于正式发布版本

  • 用法:

    1
    
    git tag -a v1.0.0 -m "发布第一个正式版本"
    

常用命令详解

命令说明
git tag列出所有本地标签
git tag <tagname>创建轻量标签,默认打在当前分支最新提交上
git tag -a <tagname> -m "msg"创建带注释的标签,添加标签说明文字
git tag -d <tagname>删除本地标签
git show <tagname>查看标签详细信息(特别是附注标签)
git push origin <tagname>推送指定标签到远程仓库
git push origin --tags推送所有本地标签到远程仓库
git checkout <tagname>切换到某个标签对应的代码状态(进入“detached HEAD”状态)

给指定提交打标签

默认打标签是在当前 HEAD,如果想给历史提交打标签,可以指定 commit:

1
git tag -a v1.0.0 9fceb02 -m "发布第一个正式版本"

这里 9fceb02 是 commit 哈希值。

删除和推送标签

  • 删除本地标签:
1
git tag -d v1.0.0
  • 删除远程标签:
1
git push origin :refs/tags/v1.0.0
  • 推送所有标签:
1
git push origin --tags

应用场景

  • 版本发布:通过 Tag 标记每个发布版本(如 v1.0.0v2.0.0),方便回溯和用户下载对应版本代码
  • 打包触发:CI/CD 流程常以打 Tag 作为触发条件,自动构建发布包
  • 代码对比:方便比较不同版本的代码差异
本文由作者按照 CC BY 4.0 进行授权