Git标签的使用

天行健,君子以自强不息;地势坤,君子以厚德载物。


每个人都有惰性,但不断学习是好好生活的根本,共勉!


文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。

文章目录

  • Git标签使用
    • [1. 查看所有标签](#1. 查看所有标签)
    • 2.对当前提交打标签
    • [3. 对历史提交打标签](#3. 对历史提交打标签)
      • [3.1 查看提交历史](#3.1 查看提交历史)
      • [3.2 根据commitId打标签](#3.2 根据commitId打标签)
    • [4. 创建带有说明的标签](#4. 创建带有说明的标签)
    • [5. 删除标签](#5. 删除标签)
    • [6. 推送标签到远程](#6. 推送标签到远程)
      • [6.1 推送指定标签到远程](#6.1 推送指定标签到远程)
      • [6.2 推送所有标签到远程](#6.2 推送所有标签到远程)
    • [7. 删除标签](#7. 删除标签)
      • [7.1 本地删除](#7.1 本地删除)
      • [7.2 远程删除](#7.2 远程删除)
    • [8. 总结](#8. 总结)

Git相关文章参考:
Git学习和使用指南简单篇
Git学习和使用指南详细篇
Git命令汇总

Git标签使用

标签tag也是版本库的一个快照,在发布一个版本时可以打一个标签,确定该版本对应的打标签的时刻,未来可用该标签找到对应的版本进行恢复

标签实质上是指向某个commit的指针,但不可移动

tag和commit绑定在一起,更容易根据tag的内容(一般为版本号)找到对应的commit版本

1. 查看所有标签

查看所有标签名,该命令列出的标签列表不是按照时间顺序,而是根据字母书序排列

l 复制代码
git tag

通过show查看指定标签

l 复制代码
git show <tag-name>

如果查看标签v1.0的标签内容

l 复制代码
git show v1.0

2.对当前提交打标签

默认情况下标签会打在最新提交的commit上

打标签

l 复制代码
git tag <tag-name>

如创建标签v1.0

l 复制代码
git tag v1.0

3. 对历史提交打标签

默认情况下标签会打在最新提交的commit上

如果忘记打标签,但时间已经过了,如何对以前的commit打标签?

指定commitid打标签

3.1 查看提交历史

查看提交历史,找到想要打标签的commitId

l 复制代码
git log --pretty=online --abbrev-commit

3.2 根据commitId打标签

对指定的commitId打标签

l 复制代码
git tag <tag-name> commitId

4. 创建带有说明的标签

-a参数指定标签名,-m参数指定描述文字

命令如下

l 复制代码
git tag -a <tag-name> -m "tag-message"

l 复制代码
git tag -a v1.0 -m "version 1.0 for test released"

使用git show <tag-name>查看标签内容包括描述信息

如果标签对应的commit既出现在master分支又出现在dev分支,则两个分支上都可以看到该标签

5. 删除标签

语法

l 复制代码
git tag -d <tag-name>

l 复制代码
git tag -d v1.0

6. 推送标签到远程

创建的标签只存在本地,不自动推送到远程,所以打错标签可本地安全删除

6.1 推送指定标签到远程

如需将标签推送到远程,则可用以下命令

l 复制代码
git push origin <tag-name>

6.2 推送所有标签到远程

也可以一次性将所有标签全部推送到远程

l 复制代码
git push origin --tags

7. 删除标签

若标签已推送到远程,现在想删除该标签,需要先从本地删除再从远程删除

7.1 本地删除

l 复制代码
git tag -d <tag-name>

7.2 远程删除

l 复制代码
git push origin :refs/tags/<tag-name>

8. 总结

推送一个本地标签到远程

l 复制代码
git push origin <tag-name>

推送全部标签到远程

l 复制代码
git push origin --tags

删除一个本地标签

l 复制代码
git tag -d <tag-name>

删除一个远程标签

l 复制代码
git push origin :refs/tags/<tag-name>

创建一个带描述的标签

l 复制代码
git tag -a <tag-name> -m "messages"

创建一个带gpg签名的标签

l 复制代码
git tag -s <tag-name> -m "messages"

感谢阅读,祝君暴富!

相关推荐
bug菌20 分钟前
Java GUI编程进阶:多线程与并发处理的实战指南
java·后端·java ee
程序猿小D33 分钟前
第二百六十九节 JPA教程 - JPA查询OrderBy两个属性示例
java·开发语言·数据库·windows·jpa
极客先躯1 小时前
高级java每日一道面试题-2024年10月3日-分布式篇-分布式系统中的容错策略都有哪些?
java·分布式·版本控制·共识算法·超时重试·心跳检测·容错策略
夜月行者2 小时前
如何使用ssm实现基于SSM的宠物服务平台的设计与实现+vue
java·后端·ssm
程序猿小D2 小时前
第二百六十七节 JPA教程 - JPA查询AND条件示例
java·开发语言·前端·数据库·windows·python·jpa
Yvemil72 小时前
RabbitMQ 入门到精通指南
开发语言·后端·ruby
sdg_advance2 小时前
Spring Cloud之OpenFeign的具体实践
后端·spring cloud·openfeign
潘多编程2 小时前
Java中的状态机实现:使用Spring State Machine管理复杂状态流转
java·开发语言·spring
_阿伟_2 小时前
SpringMVC
java·spring
代码在改了2 小时前
springboot厨房达人美食分享平台(源码+文档+调试+答疑)
java·spring boot