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
相关推荐
向上_503582912 小时前
解决git提交冲突
git
学习使我健康2 小时前
Git Submodule 深度避坑指南
git
Mapleay4 小时前
git notes
git
zhougl9965 小时前
非root用户,链接ssh,并上传git
运维·git·ssh
muddjsv14 小时前
Git 代码同步与协作的核心命令全解析
git
历程里程碑15 小时前
2. Git版本回退全攻略:轻松掌握代码时光机
大数据·c++·git·elasticsearch·搜索引擎·github·全文检索
果然_20 小时前
为什么你的 PR 总是多出一堆奇怪的 commit?90% 的人都踩过这个 Git 坑
前端·git
yyuuuzz21 小时前
独立站搭建:从入门到避坑实战
前端·git·github
splage21 小时前
Nginx 反向代理之upstream模块以及完整配置反向代理示例
git·nginx·github
阿崽meitoufa1 天前
hermes-agent安装到本地 Git方法
git·hermes·hermes-agent