文章

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 进行授权