git tag
git tag
git tag 是 Git 中用来给特定提交(commit)打上“标签”(Tag)的命令,主要用于标记版本发布点,便于版本管理和查找。
标签的类型
轻量标签(Lightweight Tag)
-
类似于一个不会变动的分支引用,只是给某个 commit 打个简单标记
-
不包含额外元信息(作者、日期、注释)
-
用法:
git tag v1.0.0
附注标签(Annotated Tag)
-
是一个完整的对象,包含标签名、作者、日期、标签说明文字等信息
-
推荐用于正式发布版本
-
用法:
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:
git tag -a v1.0.0 9fceb02 -m "发布第一个正式版本"
这里 9fceb02 是 commit 哈希值。
删除和推送标签
- 删除本地标签:
git tag -d v1.0.0
- 删除远程标签:
git push origin :refs/tags/v1.0.0
- 推送所有标签:
git push origin --tags
应用场景
- 版本发布:通过 Tag 标记每个发布版本(如
v1.0.0、v2.0.0),方便回溯和用户下载对应版本代码 - 打包触发:CI/CD 流程常以打 Tag 作为触发条件,自动构建发布包
- 代码对比:方便比较不同版本的代码差异

浙公网安备 33010602011771号