一.标签管理
1.理解标签
标签 tag ,可以简单的理解为是对某次 commit 的⼀个标识,相当于起了⼀个别名,当我们需要回退到某个重要版本时,直接使⽤标签就能很快定位到
2.创建标签
⾸先,切换到需要打标签的分⽀上,然后,敲命令 git tag [name] 就可以打⼀个新标签

cpp
git tag;
//查看所有标签
默认标签是打在最新提交的 commit 上的。那如何在指定的commit上打标签呢?
⽅法是找到历史提交的commit id,然后打上就可以
两个指令:
cpp
git log --pretty=oneline --abbrev-commit;
//查看提交信息,即commit id
git tag 标签 +commit id;
//打标签
git tag;
//查看所有标签

注意,标签不是按时间顺序列出,⽽是按字⺟排序的
查看标签信息:
cpp
git show +标签;
//查看标签信息

注意:git show 默认是最新版本
cpp
git tag -a [name] -m "XXX" [commit_id];
//创建带有说明的标签,⽤-a指定标签名,-m指定说明⽂字

我们还可以查看我们git tree变化情况:

就会出现标签显示
3.操作标签
标签删除:
本地删除,未推送到远程:
cpp
git tag -d +标签;
//本地删除标签

已经推送到远程仓库,将远程仓库标签删除:
推送某个标签到远程,使⽤命令如下:
cpp
git push origin +标签;
//推送某个标签到远程仓库
git push origin --tags;
//推送所有标签到远程仓库


如果我们要删除远程仓库标签,当然可以直接在远程仓库进行删除,但是我们现在要学习在本地删除操作:

结果:

图中我们演示了多种错误的删除法,大家一定要知道删除指令如下:
cpp
//法1:
git push eorigin : +标签;
//法2:
git push origin : refs/tags/标签;
最后,感谢大家的支持!!!