Git学习笔记:3 git tag命令

文章目录

  • git tag 基本用法
    • 1. 创建标签
    • 2. 查看标签
    • 3. 删除标签
    • 4. 推送标签到远程仓库
    • 5. 检出标签
  • 普通提交和标签的区别
    • 1. 提交(Commit)
    • 2. 标签(Tag)

git tag 基本用法

git tag 是 Git 中用于管理和操作标签(tag)的命令。标签在Git中主要用于标记特定的提交,通常用来标识重要的版本发布点,如v1.0.0、v2.1.5等。

1. 创建标签

  • 创建一个轻量标签(不包含额外信息):
    git tag <tag-name>
    
  • 创建一个带有注释的annotated标签(推荐使用,因为它可以存储更多元数据和PGP签名):
    git tag -a <tag-name> -m "Tag message"
    

2. 查看标签

  • 列出所有标签:
    git tag
    

3. 删除标签

  • 删除本地标签:
    git tag -d <tag-name>
    
  • 删除远程标签(需要先删除本地标签,并且拥有相应权限):
    git push origin :refs/tags/<tag-name>
    

4. 推送标签到远程仓库

  • 推送所有本地标签到远程仓库:
    git push origin --tags
    
  • 推送单个标签到远程仓库:
    git push origin <tag-name>
    

5. 检出标签

  • 检出标签所指向的 commit 作为新的工作目录状态(不会创建新的分支):
    git checkout <tag-name>
    

通过合理的使用 git tag 命令,可以帮助团队更好的管理项目版本,追踪历史中的重要里程碑,并方便地切换到特定的发布版本进行问题排查或回滚操作。

普通提交和标签的区别

在Git版本控制系统中,提交(commit)和标签(tag)都是用于记录项目历史的重要工具,它们的区别在于用途和意图:

1. 提交(Commit)

  • 提交是对项目代码或文件的更改进行原子性的保存。每次你修改了项目中的文件,并通过git add将这些更改添加到暂存区后,使用git commit命令可以将暂存区的内容保存为一个新版本。
  • 提交包含了更改内容、提交者信息(如姓名、邮箱)、提交时间戳以及对此次更改的描述(即提交消息)。
  • 提交会形成一个独特的SHA-1哈希值标识符,代表了项目的特定状态。
  • 提交是线性历史的一部分,形成了项目的发展时间线。

2. 标签(Tag)

  • 标签是用来标记特定提交的一种引用方式,它提供了一种方便的方式来指代某个具有重要意义的提交点,例如软件发布版本、里程碑或特定功能完成时刻。
  • 标签通常包含一个可读的名字(比如v1.0、release_2023等),以及可选的标签信息,如注释和签名。
  • 标签分为两种类型:轻量标签(lightweight tag)和附注标签(annotated tag)。轻量标签只是指向特定提交的指针,而附注标签除了包含提交指针外,还有额外的元数据,包括标签创建者的姓名、电子邮件、日期及标签信息等,并且有自己的校验和。
  • 与提交不同,标签不是连续变化的,而是固定的指针,一旦指向了一个提交就不再变动,因此常用来标记稳定的发行版或其他重要的开发节点。

总结来说,提交用于追踪项目的每一次变更,构成项目的完整历史记录;而标签则用来标记项目历史中的关键点,为用户提供易于记忆和理解的版本名称,便于回溯和发布管理。

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

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

相关文章

2023-2024年重庆职业院校技能大赛“信息安全管理与评估”比赛样题

2023 年重庆职业院校技能大赛&#xff08;高等职业教育&#xff09; “信息安全管理与评估”样题任务书 第一阶段&#xff1a;任务 1 网络平台搭建&#xff08;50 分&#xff09;任务 2 网络安全设备配置与防护&#xff08;250 分&#xff09; 第二阶段&#xff1a;第一部分 网…

web蓝桥杯真题--14、关于你的欢迎语

介绍 营销号&#xff0c;有时候需要一些特定的欢迎语&#xff0c;但针对特定的用户&#xff0c;我们希望可以个性化一点。本题需要在项目文件中修改代码存在的问题&#xff0c;实现根据模版生成特定用户的欢迎语。 准备 本题已经内置了初始代码&#xff0c;打开实验环境&…

Backend - Django URL 路由 重定向

目录 一、url 的 <> 作用 &#xff08;一&#xff09;操作流程 &#xff08;二&#xff09;前端设置链接 1. 包括&#xff1a; 2. 比如 &#xff08;三&#xff09;后端匹配路由 1. 理解 2. 比如 &#xff08;三&#xff09;后端视图的 get( )的参数 1. 理解 …

python绘图创建两个坐标轴 共享一个x轴

在Matplotlib中&#xff0c;可以使用twiny()或者twinx()方法创建一个共享一条轴线的第二个坐标轴&#xff0c;从而实现绘制两个坐标轴的效果 import matplotlib.pyplot as plt import numpy as np# 创建一些示例数据 x np.linspace(0, 10, 100) y1 np.sin(x) y2 np.cos(x)#…

第十四届蓝桥杯国赛 C++ B 组 G 题——AB路线(AC)

目录 1. AB路线1. 问题描述2. 输入格式3. 输出格式4. 样例输入5. 样例输出6. 样例说明7. 评测用例规模与约定8. 原题链接 2. 解题思路3. AC_Code 1. AB路线 前置知识点&#xff1a;BFS (广度优先搜索) 1. 问题描述 有一个由 N M N \times M NM 个方格组成的迷宫&#xff0…

flutter-相关个人记录

1、flutter 安卓打包打包报错 flutter build apk -v --no-tree-shake-icons 2、获取华为指纹证书命令 keytool -list -v -keystore ***.jks 3、IOS项目中私有方法查找隐藏文件中 1、cd 项目目录地址 2、grep -r xerbla. "xerbla"为需要查找的关键字 3…

【秒剪】如何一键恢复至素材原长?

Step1:点击下方【剪辑】 Step2:点击【时长截取】 Step3:点击【恢复至原长】 Step4:点击【恢复所有片段到原长】

推荐一个还可以的windows ssh工具

1.下载 https://github.com/kingToolbox/WindTerm/releases 2.解压 3.使用 上传 下载都很快 比cmd窗口好用 当然和finalshell有点像

JAVASE进阶(设计模式、设计原则)

目录 一、注解 内置注解:JAVA中已经定义好的注解。 元注解:修饰注解的注解。 自定义注解。 二、克隆 JAVA中对clone的实现? 浅克隆 深克隆 那么该如何做到深克隆呢? 三、常用设计模式 1、创建型模式 单例模式 工厂模式 工厂方法模式 抽象工厂模式 原型模式 一、注…

系统登录的时候的密码如何做到以加密的形式进行登录【java.security包下的api】工具类。

/** description: 将普通的publicKey转化得到一个RSAPublicKey* author: zkw* date: 2024/1/24 16:17* param: publicKey 普通的publicKey* return: RSAPublicKey 得到一个新的RSAPublicKey**/public static RSAPublicKey getPublicKey(String publicKey) throws NoSuchAlgorit…

oracle数据库插入或者更新判断是否存在记录的SQL

oracle数据库插入或者更新判断是否存在记录的SQL 1、插入的时候判断是否存在&#xff0c;若存在则忽略&#xff0c;若不存在则插入 写法① insert into student(id,name,sex) select 111,张三,女 from dual where not exists (select 1 from student where id 111)写法② …

vue中图片不显示问题 - vue中静态资源加载

文章目录 vue中图片不显示问题静态资源URL 转换规则webpack 静态资源处理 图片不显示问题问题描述解决办法1&#xff1a;使用require引入require is not defined 解决办法2&#xff1a;使用import引入解决办法3&#xff1a;将图片放进公共文件夹static或public vue中图片不显示…

代码随想录算法训练营第十四天|104.二叉树的最大深度,559.n叉树的最大深度,111.二叉树的最小深度,222.完全二叉树的节点个数

系列文章目录 代码随想录算法训练营第一天|数组理论基础&#xff0c;704. 二分查找&#xff0c;27. 移除元素 代码随想录算法训练营第二天|977.有序数组的平方 &#xff0c;209.长度最小的子数组 &#xff0c;59.螺旋矩阵II 代码随想录算法训练营第三天|链表理论基础&#xff…

Qt 鼠标按下移动释放事件

文章目录 1 通过自定义控件实现1.1 鼠标跟踪 2 鼠标事件移动标签 QEvent::MouseButtonPress ​ 鼠标按下时&#xff0c;触发该事件&#xff0c;它对应的子类是QMouseEvent QEvent::MouseMove ​ 鼠标移动时&#xff0c;触发该事件&#xff0c;它对应的子类是QMouseEvent QEv…

《解锁R统计分析:深度探索R Commander图形界面》

&#x1f482; 个人网站:【 海拥】【神级代码资源网站】【办公神器】&#x1f91f; 基于Web端打造的&#xff1a;&#x1f449;轻量化工具创作平台&#x1f485; 想寻找共同学习交流的小伙伴&#xff0c;请点击【全栈技术交流群】 在数据科学与大数据技术的浪潮中&#xff0c;R…

基于Java的学生宿舍门禁信息管理系统的设计与实现(源码+lw+部署文档+讲解等

目录 前言 详细视频演示 具体实现截图 技术栈 后端框架SpringBoot 前端框架Vue 持久层框架MyBaitsPlus 系统测试 系统测试目的 系统功能测试 系统测试结论 代码参考 数据库代码参考 源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、…

Cesium 常见配置

文章目录 常见配置1. 修改天空背景(skyBox)2. 去除版权信息3. 增加太阳光照效果4. 实现昼夜联动效果5. 显示帧数6. 增加太阳光照7. 大气层显示8. 开启地形深度检测9. 禁止相机进入地下10. 右键拖拽场景倾斜11. 关闭抗锯齿12. 鼠标操作惯性控制13. 自动调整分辨率14. 默认定位到…

记录:云计算学习日常之shell

一、初识shell 文件描述符与输出重定向&#xff1a; 在shell程式中&#xff0c;最常使用的FD(filedescriptor)有三个&#xff0c;分别是&#xff1a; 0&#xff1a;Standard Input(STDIN) 1&#xff1a;Standard Output(STDOUT) 2&#xff1a;Standard Error Output(STDER…

Linux 常见性能指标 -- 网络

本系列记录操作系统常见性能指标&#xff0c;写这个主要是记录也是回顾&#xff0c;笔记很长&#xff0c;拆分了几个部分&#xff0c;本篇记录 网络 的性能指标 日常最常见的问题就是 ping 能不能通&#xff0c;telnet 端口通不通&#xff0c;来判断网络是否正常。但是有些时候…

【数据结构】数据结构初识

前言&#xff1a; 数据结构是计算存储&#xff0c;组织数据的方式。数据结构是指相互间存在一种或多种特定关系的数据元素的集合。通常情况下&#xff0c;精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。 Data Structure Vi…