Git Tag 使用总结
Git Tag 使用总结
一、什么是 Git Tag
Git 标签(Git tag)是一种指向特定提交(commit)的命名引用。它本质上是给某一次提交打上一个“不可变的标记”,常用于:
- 标识软件版本(如
v1.0.0、v2.1.3) - 记录重要里程碑(功能完成、测试通过、稳定版本等)
- 方便快速定位和回溯历史版本
相比分支,Tag 更像是一个“时间点快照”,一旦创建通常不再修改。
二、Git Tag 的类型
1. 轻量标签(Lightweight Tag)
轻量标签只是某个提交的一个简单引用,不包含额外信息。
1
git tag v1.0.0
特点:
- 不包含作者、时间、说明
- 更像是一个提交别名
- 一般不推荐用于正式发布
2. 附注标签(Annotated Tag,推荐)
附注标签是 Git 官方推荐的做法,适合正式版本发布。
1
git tag -a v1.0.0 -m "发布 v1.0.0 版本"
特点:
- 包含作者、日期、标签说明
- 会被完整记录在 Git 历史中
- 适合用于版本发布和长期维护
三、查看标签
1. 列出所有标签
1
git tag
2. 查看某个标签的详细信息
1
git show v1.0.0
可以看到:
- 标签说明
- 对应的 commit
- 提交作者和时间
四、给指定提交打 Tag
默认情况下,Tag 会打在当前分支的最新提交(HEAD)上。
如果需要给历史提交打 Tag,可以先查看提交记录:
1
git log --oneline
然后指定 commit hash:
1
git tag -a v1.0.0 9fceb02 -m "发布 v1.0.0"
五、将 Tag 推送到远程仓库
⚠️ 注意:Tag 不会随着
git push自动推送
1. 推送指定 Tag
1
git push origin v1.0.0
2. 推送所有本地 Tag(常用)
1
git push origin --tags
在 GitHub / GitLab 中,推送成功后即可在 Releases 或 Tags 页面看到对应版本。
六、删除 Tag
1. 删除本地 Tag
1
git tag -d v1.0.0
2. 删除远程 Tag
1
git push origin :refs/tags/v1.0.0
删除远程 Tag 后,其他开发者需要手动同步更新
七、推荐的版本发布流程(最佳实践)
1
2
3
4
git status # 确保工作区干净
git pull # 同步最新代码
git tag -a v1.0.0 -m "release v1.0.0"
git push origin --tags
建议:
- 统一使用语义化版本号(SemVer):
主版本.次版本.修订号 - 正式发布一律使用 Annotated Tag
- Tag 一旦发布,尽量不要修改或删除
八、什么时候该用 Tag?
- 软件版本发布
- CI/CD 发布节点标记
- 重要里程碑存档
- 需要长期可追溯的稳定状态
合理使用 Git Tag,可以让项目版本管理更加清晰、专业,也非常利于团队协作和自动化发布。
本文由作者按照 CC BY 4.0 进行授权