Git【标签操作】

目录

一、理解标签

二、创建标签

[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.0release-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 删除远程标签

如果你已经推送了一个标签到远程,后来又想删除它,需要分两步:

  1. 先在本地删除:

    git tag -d v1.0

2.再删除远程的标签(注意命令格式):

复制代码
git push origin :refs/tags/v1.0

或者使用更简洁的写法:

复制代码
git push origin --delete v1.0
相关推荐
火车叼位10 小时前
用脚本固化 Git Squash 合并与文件排除流程
git
wunaiqiezixin12 小时前
git常用命令总结
git
Pluchon17 小时前
萌萌技术分享笔记——Java综合项目
java·开发语言·笔记·git·github·mybatis·postman
九思x18 小时前
Git脚本汇总
git
jiayong2318 小时前
git分支合并的切换逻辑详解
git
思麟呀19 小时前
Git入门
git
Ws_19 小时前
Git + Gerrit 第八课:reset 与 revert 撤销提交
git
Qres82119 小时前
hexo博客上传github page
git·github·hexo
繁星星繁19 小时前
Git 入门之道:从版本流转到基础操作
大数据·git·elasticsearch
wh_xia_jun1 天前
Git 分支合并操作备忘录
git