理解标签
标签(tag)是Git中用于标记特定提交(commit)的引用,可以理解为给某次提交起一个有意义的别名。
标签的作用
-
版本标记:在项目发布时,标记重要的版本节点(如v1.0、v2.0)
-
快速定位 :比使用
commit id更容易记忆和定位 -
里程碑记录:标识项目开发中的重要阶段
案例 :当项目发布1.0版本时,给最后一次提交打上
v1.0标签,方便后续回溯到这个版本。
创建标签
准备工作
在Git中打标签非常简单,首先,切换到需要打标签的分支上
Shell
$ git branch
* master
创建标签
然后,用git tag [name]命令就可以打一个标签
Shell
# 在当前最新提交上打标签
$ git tag v1.0
注意 :默认标签是在最新提交的
commit上的。
此外,还可以用git tag命令查看所有标签
Shell
# 查看所有标签
$ git tag
v1.0
注意:标签不是按时间顺序列出,而是按字母排序的。
在指定提交上打标签
要标记历史提交,需要指定commit id
Shell
# 查看提交历史
$ git log --pretty=oneline --abbrev-commit
350469b add file2 file3
193343a add file1
4266914 touch makefile + demo.c
# 为"add file1"这次提交打标签
$ git tag v0.9 193343a
# 查看所有标签(按字母排序)
$ git tag
v0.9
v1.0
创建附注标签
并附注标签包含更多信息(标签者、日期、说明等)
Shell
# 基本语法
git tag -a <标签名> -m "说明文字" [commit id]
# 实际示例
$ git tag -a v1.1 -m "版本1.1:新增用户管理功能" 350469b
参数说明:
-
-a:创建附注标签 -
-m:添加标签说明 -
不加参数:创建轻量标签
查看标签信息
Shell
# 查看标签列表
$ git tag
v0.9
v1.0
v1.1
# 查看特定标签详情
$ git show v1.0
commit 350469b7dfb66e440ad786c8887335c8212855e5
Author: HY <2176415041@qq.com>
Date: Tue Dec 2 11:24:58 2025 +0800
add file2 file3
diff --git a/file2 b/file2
...
标签的存储位置
标签信息存储在.git/refs/tags/目录中
Shell
$ tree .git/
.git/
| ···
`-- refs
|···
`-- tags
├── v0.9
├── v1.0
└── v1.1
# 查看标签内容
$ cat .git/refs/tags/v1.0
350469b7dfb66e440ad786c8887335c8212855e5
操作标签
删除本地标签
Shell
# 查看现有标签
$ git tag
v0.9
v1.0
v1.1
# 删除指定标签
$ git tag -d v0.9
Deleted tag 'v0.9' (was 193343a)
# 确认删除结果
$ git tag
v1.0
v1.1
推送标签到远程仓库
默认情况下,git push不会推送标签到远程仓库,需要显式推送
推送单个标签
Shell
# 推送指定标签
$ git push origin v1.0
Username for 'https://gitee.com': null_mian
Password for 'https://null_mian@gitee.com':
Total 0 (delta 0), reused 0 (delta 0)
remote: Powered by GITEE.COM [1.1.23]
remote: Set trace flag 3b4569a7
To https://gitee.com/null_mian/test.git
* [new tag] v1.0 -> v1.0
推送所有标签
Shell
# 一次性推送所有本地标签
$ git push origin --tags
说明:如果你本地有很多标签,也可以一次性全部推送到远端
查看远程标签
推送成功后,可以在远程仓库页面看到标签

删除远程标签
如果需要删除已推送到远程的标签
步骤1:删除本地标签
Shell
$ git tag -d v1.0
Deleted tag 'v1.0' (was 4331117)
步骤2:删除远程标签然
Shell
# 删除远程标签的语法
git push origin :refs/tags/<标签名>
# 实际示例
$ git push origin :refs/tags/v1.0
Username for 'https://gitee.com': null_mian
Password for 'https://null_mian@gitee.com':
remote: Powered by GITEE.COM [1.1.23]
remote: Set trace flag ae43a7ae
To https://gitee.com/null_mian/test.git
- [deleted] v1.0
步骤3:验证删除结果

说明:删除后,Gitee 的标签页面会相应更新
标签管理最佳实践
1. 标签命名规范
-
版本标签 :
v1.0、v2.1.3 -
预发布标签 :
v1.0-rc1、v2.0-beta -
特殊标记 :
stable、latest
2. 标签类型选择
-
轻量标签:适合临时标记或内部使用
-
附注标签:适合正式发布,包含完整信息
3. 工作流程建议
Shell
# 1. 开发完成,准备发布
git checkout master
git pull origin master
# 2. 创建附注标签
git tag -a v1.2.0 -m "版本1.2.0:优化性能,修复bug"
# 3. 推送标签到远程
git push origin v1.2.0
# 4. 后续维护
# 需要回退到特定版本时
git checkout v1.2.0
4. 注意事项
-
标签一旦推送,尽量避免删除(特别是公共仓库)
-
确保标签名称在仓库中唯一
-
重要版本建议使用附注标签,记录详细信息
-
定期清理不再需要的本地标签
总结
Git标签是项目管理中的重要工具,合理使用标签可以:
-
清晰标记版本:方便版本管理和发布
-
快速回溯历史:轻松切换到任意版本
-
记录项目里程碑:标记重要开发节点
通过掌握标签的创建、推送、删除等操作,可以更有效地管理项目版本,提高团队协作效率。