目录
[2.1 给最新的提交打标签](#2.1 给最新的提交打标签)
[2.2 给指定的提交打标签](#2.2 给指定的提交打标签)
[2.3 创建带说明的标签(推荐)](#2.3 创建带说明的标签(推荐))
[2.4 查看所有标签](#2.4 查看所有标签)
[2.5 查看某个标签的详细信息](#2.5 查看某个标签的详细信息)
[3.1 删除本地标签](#3.1 删除本地标签)
[3.2 推送标签到远程仓库](#3.2 推送标签到远程仓库)
[3.3 删除远程标签](#3.3 删除远程标签)
git log查看过那一长串的commit id。每次要回退到某个重要版本时,都需要翻出那串像乱码一样的commit id?
用一个简单易记的名字来代替它,那该多方便!
今天要介绍的就是Git的标签(Tag) 功能------它可以为某个特定的提交起一个有意义的名字,比如v1.0、release-2023。

一、理解标签
每次提交Git都会生成一个唯一的commit id(例97811abd1d43774aeb54fee32bf4fc76b2b08170)。虽然这个ID很精确,但对人来说太难记了。而标签就像给这个提交贴上一个"贴纸",你可以用v1.0这样的名字来代表那次提交。
标签的典型应用场景:
-
发布版本 :比如软件正式发布时,打上
v1.0.0的标签。 -
里程碑节点 :完成一个重要功能,打上
feature-login-done的标签。 -
快速定位:需要回退到某个稳定版本时,直接用标签名,不用再找commit id。
二、创建标签
Git支持两种标签:轻量标签 (lightweight)和附注标签(annotated)。我们最常用的是附注标签,它可以附带说明信息。
2.1 给最新的提交打标签
如果你当前正在某个分支(比如master)上,并且想给最后一次提交打标签,直接运行:

这条命令会创建一个名为v1.0的标签,指向最新的提交。



2.2 给指定的提交打标签
如果你想给历史中的某次提交打标签,可以**先用git log找到它的commit id(通常只需前几位),**然后指定:
git tag v0.9 c6ce3f0
这里c6ce3f0是某次提交的commit id前缀,Git会自动找到完整的提交。
2.3 创建带说明的标签(推荐)
为了让标签信息更丰富,可以用-a(annotated)和-m(message)参数:
git tag -a v1.0 -m "第一个正式版本发布"
这样,标签就包含了一条说明,日后查看时会非常清晰。
2.4 查看所有标签
git tag
这个命令会按字母顺序列出所有标签,而不是按时间顺序。
2.5 查看某个标签的详细信息
git show v1.0
你会看到该标签对应的提交信息、作者、日期,以及附带的说明(如果有)。
三、操作标签
3.1 删除本地标签
如果标签打错了,或者不再需要,可以轻松删除:
git tag -d v0.9
这条命令会从本地仓库中删除名为
v0.9的标签**。注意,这只是删除本地的,远程仓库中可能还保留着。**
3.2 推送标签到远程仓库
默认情况下,git push并不会把标签推送到远程。你需要显式地推送标签:
git push origin v1.0
如果你想一次性推送所有本地标签
git push origin --tags
推送成功后,远程仓库(比如Gitee/GitHub)上也能看到这些标签。
3.3 删除远程标签
如果你已经推送了一个标签到远程,后来又想删除它,需要分两步:
-
先在本地删除:
git tag -d v1.0
2.再删除远程的标签(注意命令格式):
git push origin :refs/tags/v1.0
或者使用更简洁的写法:
git push origin --delete v1.0