Git的标签:tag

news2025/1/16 13:51:17

目录

 

1. 查看标签

1.1 简单查看

1.2 匹配筛选标签

 2. 创建标签

2.1 附注标签

2.2 轻量标签

2.3 代码提交之后打标签

2.4 提交标签

3. 删除标签

4. 检出标签


Git 可以给仓库历史中的某一个提交打上标签,以示重要。 比较有代表性的是人们会使用这个功能来标记发布结点( v1.0 、 v2.0 等等)。

本篇文章我们简单介绍一下Git标签。

本文参考:Git-基础-打标签

1. 查看标签

1.1 简单查看

git tag

1.2 匹配筛选标签

需要可选的参数:-l或者--list

git tag -l "bhrpc*" 

# 或者

git tag --list "bhrpc*"

 2. 创建标签

Git 支持两种标签:轻量标签(lightweight)与附注标签(annotated)。

轻量标签很像一个不会改变的分支——它只是某个特定提交的引用。

而附注标签是存储在 Git 数据库中的一个完整对象, 它们是可以被校验的,其中包含打标签者的名字、电子邮件地址、日期时间, 此外还有一个标签信息,并且可以使用 GNU Privacy Guard (GPG)签名并验证。 通常会建议创建附注标签,这样你可以拥有以上所有信息。但是如果你只是想用一个临时的标签, 或者因为某些原因不想要保存这些信息,那么也可以用轻量标签。

2.1 附注标签

git tag -a 标签名 -m "提交信息"

-m 选项指定了一条将会存储在标签中的信息。 如果没有为附注标签指定一条信息,Git 会启动编辑器要求你输入信息。

通过使用以下命令可以看到标签信息和与之对应的提交信息:

git show

 输出显示了打标签者的信息、打标签的日期时间、附注信息,然后显示具体的提交信息。

2.2 轻量标签

另一种给提交打标签的方式是使用轻量标签。 轻量标签本质上是将提交校验和存储到一个文件中——没有保存任何其他信息。 创建轻量标签,不需要使用 -a-s 或 -m 选项,只需要提供标签名字:

git tag 标签名

 这时,如果在标签上运行 git show,你不会看到额外的标签信息。 命令只会显示出提交信息。

2.3 代码提交之后打标签

你可以对已经提交过的代码打标签。

查看过去提交记录:

git log --pretty=oneline

git tag -a bhrpc-03 75e699 

 此时会打开一个编辑页面,输入标签名即可。

 此时你已经可以使用git tag命令查看刚才打的标签。

2.4 提交标签

默认情况下,git push 命令并不会传送标签到远程仓库服务器上。 在创建完标签后你必须显式地推送标签到共享服务器上。 这个过程就像共享远程分支一样——你可以运行 git push origin <tagname>

git push origin bhrpc-03

如果想要一次性推送很多标签,也可以使用带有 --tags 选项的 git push 命令。 这将会把所有不在远程仓库服务器上的标签全部传送到那里。

git push origin --tags

 现在,当其他人从仓库中克隆或拉取,他们也能得到你的那些标签。

注意:

使用 git push <remote> --tags 推送标签并不会区分轻量标签和附注标签, 没有简单的选项能够让你只选择推送一种标签。

3. 删除标签

git tag -d tagName

 注意上述命令并不会从任何远程仓库中移除这个标签,你必须用 git push <remote> :refs/tags/<tagname> 来更新你的远程仓库:

第一种变体是 git push <remote> :refs/tags/<tagname> :

git push origin :refs/tags/tagName

 上面这种操作的含义是,将冒号前面的空值推送到远程标签名,从而高效地删除它。

第二种更直观的删除远程标签的方式是:

git push origin --delete <tagname>

4. 检出标签

这个有坑。

如果你想查看某个标签所指向的文件版本,可以使用 git checkout 命令, 虽然这会使你的仓库处于“分离头指针(detached HEAD)”的状态——这个状态有些不好的副作用:

git checkout 2.0.0

在“分离头指针”状态下,如果你做了某些更改然后提交它们,标签不会发生变化, 但你的新提交将不属于任何分支,并且将无法访问,除非通过确切的提交哈希才能访问。 因此,如果你需要进行更改,比如你要修复旧版本中的错误,那么通常需要创建一个新分支:

git checkout -b version2 v2.0.0

如果在这之后又进行了一次提交,version2 分支就会因为这个改动向前移动, 此时它就会和 v2.0.0 标签稍微有些不同,这时就要当心了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/145172.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

thrift OOM 内存溢出

最近经常发生thrift服务半夜宕机的问题&#xff0c;虽然是测试环境&#xff0c;但是每天早上重启也很恶心。 经过很长时间的摸索&#xff0c;终于找到了原因。先说背景&#xff1a; 我们用的thrift版本是0.9.2&#xff0c;用做service的rpc框架&#xff0c;某一天开始&#x…

安全狗云原生安全产品入选《2022网络安全技术应用试点示范项目名单》

近日&#xff0c;工信部正式发布《2022网络安全技术应用试点示范项目名单》。作为国内云原生安全领导厂商&#xff0c;安全狗也凭借突出的产品能力&#xff0c;入选名单。 据悉&#xff0c;此次评选需层层通过单位申报、部门初审和推荐、专家评审、网上公示等多个环节。安全狗…

玉湖冷链黄铮洪出任广东省物流标准化技术委员会副主任

1月5日&#xff0c;广东省物流标准化技术委员会(第三届)成立大会召开&#xff0c;玉湖冷链执行董事黄铮洪出任副主任委员。 大会现场 根据2022年9月广东省市场监督管理局发布的通告&#xff0c;决定成立第三届广东省物流标准化技术委员会(以下简称「标准化委员会」)。此次大会进…

七、k8s Service详解

文章目录1 Service介绍1.1 userspace 模式1.2 iptables 模式1.3 ipvs 模式2 Service类型3 Service使用3.1 实验环境准备3.2 ClusterIP类型的Service3.3 Endpoint3.4 HeadLiness类型的Service3.5 NodePort类型的Service3.6 LoadBalancer类型的Service3.7 ExternalName类型的Serv…

树莓派3B摄像头的详细使用教程(拍照+录像+监控)

树莓派4B摄像头的详细使用教程&#xff08;拍照录像监控&#xff09; 本篇博文将介绍树莓派摄像头是如何在树莓派开发板上从安装到使用的&#xff0c;博主过程中参考了许多帖子&#xff0c;现将整理的比较全面的过程分享出来&#xff0c;供大家参考使用。 排线连接 硬件连接时…

【阶段二】Python数据分析数据可视化工具使用02篇:条形图与雷达图

本篇的思维导图: 条形图 条形图与柱形图类似,几乎可以表达相同多的数据信息。条形图的柱形变为横向,从而导致与柱形图相比,条形图更加强调项目之间的大小对比。尤其在项目名称较长以及数量较多时,采用条形图可视化数据会更加美观、清晰。 代码 # 导入需要的包imp…

java学习day70(乐友商城)授权中心

1.无状态登录原理 1.1.什么是有状态&#xff1f; 有状态服务&#xff0c;即服务端需要记录每次会话的客户端信息&#xff0c;从而识别客户端身份&#xff0c;根据用户身份进行请求的处理&#xff0c;典型的设计如tomcat中的session。 例如登录&#xff1a;用户登录后&#x…

cubeIDE开发, stm32的C库应用分析

一、stm32的C库 cubeIDE针对STM32芯片开发&#xff0c;提供个了两大库&#xff0c;HLA库和C库&#xff08;集成GNU Tools for STM32工具链时提供&#xff0c;该工具链同样是意法半导体提供&#xff0c;可在http:// www.st.com单独下载&#xff09;&#xff0c;前者帮助开发这简…

P1055 [NOIP2008 普及组] ISBN 号码————C++

文章目录题目[\[NOIP2008 普及组\] ISBN 号码](https://www.luogu.com.cn/problem/P1055)题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1样例 #2样例输入 #2样例输出 #2提示解题思路1Code运行结果解题思路2Code运行结果题目 [NOIP2008 普及组] ISBN 号码 题目描述 …

windows 安装jenkins运行发布vue项目到linux服务器

文章目录背景安装jenkins安装插件安装nodej插件Publish over SSH系统配置Publish over SSH全局工具配置设置node构建项目创建一个freestyle的项目Discard old buildsgit命令报错Host key verification failedBuild背景 由于服务器上运行jenkins很卡&#xff0c;所以对于小公司…

windows安装jenkins运行发布java springboot项目到linux服务器

文章目录背景安装jenkins安装插件安装maven插件Publish over SSH系统配置Global propertiesPublish over SSH全局工具配置设置jdk设置maven设置git构建java maven项目freestyle 或者maven都可以Discard old buildsgit命令报错Host key verification failed每次构建前清理构建环…

可观测性之Log4j2优雅日志打印

可观测性之Log4j2优雅日志打印# 简介 对于Log4j2大家应该都不是很陌生&#xff0c;听说最多的应该是2021年年底出现的安全漏洞了&#xff0c;不过最让大家头痛的应该不仅仅是这个安全漏洞的处理&#xff0c;安全漏洞通过升级最新的依赖版本即可快速解决&#xff0c;平时在使用…

基于Java+SpringMvc+vue+element实现上海汽车博物馆平台

基于JavaSpringMvcvueelement实现上海汽车博物馆平台 博主介绍&#xff1a;5年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java毕设项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留言 文末获取源…

C语言.表白神器.爱你之心之闪耀

前言 爱你之心之闪耀&#xff0c;这个名字比较沙雕哈哈哈。。。 爱你之心之闪耀前言爱心函数的选取爱心函数1爱心函数2简单爱心粒子发射原理爱心结构一些宏初始化init创建若干爱心并初始化setHeart展示爱心showHeart爱心变大modifyHeart设置音乐主函数Love.hLove.cpp祝有情人&a…

【有营养的算法笔记】一文轻松学会高精度算法(加减乘除)

&#x1f451;作者主页&#xff1a;进击的安度因 &#x1f3e0;学习社区&#xff1a;进击的安度因&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;有营养的算法笔记 文章目录一、前言二、高精度加法1、思想及模板2、代码实现三、高精度减法1、思路及模板2…

电脑一键重装系统卡在正在准备就绪怎么办

最近有些用户想要给电脑换新的系统使用&#xff0c;选择一键重装工具重装&#xff0c;但结果卡住了&#xff0c;小白一键重装系统卡在正在准备就绪怎么办?下面小编就教下大家小白一键重装系统卡在正在准备就绪怎么办的解决办法。 工具/原料&#xff1a; 系统版本&#xff1a;…

七 近代史案例欣赏

首先打开我们的编译器&#xff0c;EgretWing,新建一个Egret项目。 新建好后如下图&#xff1a; 主要文件夹介绍 libs:包类文件夹 resource&#xff1a;资源文件夹 src&#xff1a;编写代码文件夹 template&#xff1a;前端文件夹 代码编写 1 打开src中Main.ts文件找到crea…

Scala中的协变点、逆变点、不变点如何确定?

阅读《scala编程》时&#xff0c;我们知道了类的类型参数是可以型变&#xff08;variance&#xff09;的。型变包含以下三种&#xff1a; 协变&#xff08;convariant&#xff09;&#xff1a;如果S是T的子类型&#xff0c;则C1[S]也是C1[T]的子类型&#xff0c;则称C1在类型参…

leetcode 208. 实现 Trie (前缀树)【字典树(前缀树)的介绍与思路整理】

题目 Trie&#xff08;发音类似 “try”&#xff09;或者说 前缀树 是一种树形数据结构&#xff0c;用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景&#xff0c;例如自动补完和拼写检查。 请你实现 Trie 类&#xff1a; Trie() 初始化前缀树对象。…

HCL Notes/Domino 12.0.2版本正式发布

大家好&#xff0c;才是真的好。 之前代号为多瑙河版本的Notes/Domino产品&#xff0c;昨天晚上正式露出了神秘的面纱&#xff0c;版本号也正式定为12.0.2。从版本上来看&#xff0c;是12.0版本的小版本&#xff0c;但从功能和特性上来说&#xff0c;这完全就是一个大版本。 …