Git标签与版本发布

news/2024/9/17 13:46:22/

1. 什么是git标签

标签,就类似我们阅读时的书签,可以很轻易找到自己阅读到了哪里。

对于git来说,在使用git对项目进行版本管理的时候,当我们的项目开发到一定的阶段,需要发布一个版本。这时,我们就可以对最后一次commit打一个标签,比如说V1.0这样的一个具有特殊意义的标标签。

2. git标签的作用

当我们对某一次的提交打上git标签之后,我们后面继续开发,想找到该次commit时,通过查找该标签就很容易找到这次提交的版本。但是如果我们没有打标签时,就只能查找commit提交时的哈希值来返回到指定的位置了。所以标签的作用,是方便我们查阅某次具有里程碑式的commit的,比如我们发布一个新的版本时。

  • 可以方便的回退到某一次提交
  • 当发布版本时,对最后一次提交打上标签,方便查阅

3. git标签本地操作

3.1 创建标签

指定的某次提交创建标签:

git tag -a 标签名称 某次提交的哈希值 -m 附注信息

当前的提交创建标签:

git tag -a 标签名称 -m 附注信息

参数说明:

-a:后面跟的是创建标签的名称,一般我们都是使用类似 v1.0 这样的标签名称。

-m:添加标签的说明信息,比如 “里程碑版本 v1.0版本 正式发布”。

具体操作如下图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GRnXKzbj-1677985964437)(../picture/image-20230305002409757.png)]

3.2 查看标签

1、查看所有标签:

git tag

2、当我们的版本库存在很多标签时,可以根据字符串筛选,过滤掉自己不想查看的标签,只查看自己想看的标签,命令如下:

git tag -l "筛选字符串"

3、查看某次标签的详细信息

git show 标签名

具体操作如下图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CqHPG6Pj-1677985964438)(../picture/image-20230305004030090.png)]

3.3 删除标签

git tag -d 标签名称

在这里插入图片描述

3.4 检出标签

检出标签,其实就是我们基于这个标签的基础上,进行项目的开发。

使用的命令也是检出命令,其实就是以当初打标签的commit,新建一个新的分支,然后基于那一次的提交来检出代码到新的分支。

命令如下:

git check -b 分支名称 标签名称

在这里插入图片描述

4. git标签远程操作

4.1 本地标签推送到远程仓库

下面是我远程的仓库,目前是没有任何标签的。

在这里插入图片描述

我们提推送本地的commit到远程仓库时,是使用 git push 。但是这样只能推送本地commit 到远程仓库,并不能把标签推送到远程仓库。要把标签推送到远程仓库,命令如下:

# 推送指定的标签到远程仓库
git push origin 标签名称# 推送所有标签到远程仓库
git push origin --tags

其中,origin 是远程仓库的别名。

在这里插入图片描述

4.2 拉取远程仓库的标签到本地

有时候,我们是先在远程仓库创建新的标签的,那么如何拉取远程的标签到本地?

其实也是使用 git pull 命令。

git pull origin 标签名称

我们要先知道远程仓库的标签名称,操作如下:

在这里插入图片描述

4.3 删除远程仓库标签

git push origin  :regs/tags/标签名称
git push origin --delete 标签名称

这两条命令的效果是一样的,都是删除远程仓库的标签。

如下,删除之前远程仓库有两个标签:

在这里插入图片描述

执行删除远程标签命令:

在这里插入图片描述

执行完删除远程标签命令之后,远程仓库的标签如下:
在这里插入图片描述


http://www.ppmy.cn/news/30027.html

相关文章

《C++ Primer Plus》第18章:探讨 C++ 新标准(9)

编程练习 下面是一个简短程序的一部分&#xff1a; int main() {using namespace std;// list of double deduced from list contentsauto q average_list ({15.4, 10.7, 9.0});cout << q << endl;// list of int deduced from list contentscout << averag…

SQL中字符串截取函数 SUBSTRING

1、left&#xff08;name,4&#xff09;截取左边的4个字符 列&#xff1a; SELECT LEFT(201809,4) 年 结果&#xff1a;2018 2、right&#xff08;name,2&#xff09;截取右边的2个字符 SELECT RIGHT(201809,2) 月份 结果&#xff1a;09 3、SUBSTRING(name,5,3) 截取nam…

初识数据结构——“数据结构与算法”

各位CSDN的uu们你们好呀&#xff0c;今天小雅兰进入一个全新的内容的学习&#xff0c;就是算法和数据结构啦&#xff0c;话不多说&#xff0c;让我们进入数据结构的世界吧 什么是数据结构&#xff1f; 什么是算法&#xff1f; 数据结构和算法的重要性 如何学好数据结构和算…

【python中的列表和元组】

文章目录前言一、列表及其使用1.列表的特点2. 列表的使用方法二、元组及其特点1.元组的类型是tuple1.元组的查找操作2. 计算元组某个元素出现的次数3.统计元组内元素的个数总结前言 本文着重介绍python中的列表和元组以及列表和元组之间的区别 一、列表及其使用 1.列表的特点…

重构·改善既有代码的设计.01

前言近期在看Martin Fowler著作的《重构.改善既有代码的设计》这本书&#xff0c;这是一本经典著作。书本封面誉为软件开发的不朽经典。书中从一个简单的案例揭示了重构的过程以及最佳实践。同时给出了重构原则&#xff0c;何时重构&#xff0c;以及重构的手法。用来改善既有代…

【微信小程序】-- 案例 - 本地生活(二十)

&#x1f48c; 所属专栏&#xff1a;【微信小程序开发教程】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &…

【springcloud 微服务】Spring Cloud Alibaba 整合Nacos实战

目录 一、前言 二、常用服务注册中心介绍 2.1 dubbo服务注册示意图 2.2 常用注册中心对比 三、nacos介绍 3.1 什么是nacos 3.2 nacos 特点 3.3 nacos生态链地图 四、nacos部署 4.1 下载安装包 4.2 修改脚本启动模式 4.3 启动nacos 服务 五、Spring Cloud Alibaba…

刷题记录:CF1285D Dr. Evil Underscores 区间异或使序列最大值最小

传送门:CF 题目描述: 有一个长度为 n(1≤n≤105)n\ (1\leq n\leq 10^5)n (1≤n≤105) 的整数序列 a1,⋯,an(0≤ai≤230−1)a_1,\cdots,a_n\ \ (0\leq a_i\leq 2^{30}-1)a1​,⋯,an​ (0≤ai​≤230−1)&#xff0c;你需要找到一个非负整数 XXX 使得 max⁡(ai⊕X)\max(a_i\op…

【python】JSON数据类型与Python数据类型之间的转化

注&#xff1a;最后有面试挑战&#xff0c;看看自己掌握了吗 文章目录JSON格式文件JSON格式序列化与反序列化作用JSON常用数据结构键值对的集合值的有序列表JSON数据类型与Python数据类型之间的转化JSON格式和python的区别读写json文件dump 把python 写到json文件load 把json写…

C语言刷题(4)——“C”

各位CSDN的uu们你们好呀&#xff0c;今天小雅兰的内容又到了我们的复习啦&#xff0c;那么还是刷题噢&#xff0c;话不多说&#xff0c;让我们进入C语言的世界吧 BC55 简单计算器 BC56 线段图案 BC57 正方形图案 BC58 直角三角形图案 BC59 翻转直角三角形图案 BC60 带空格…

蚁群算法优化问题

%%%%%%%%%%%%蚁群算法解决 TSP 问题%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%初始化%%%%%%%%%%%%%%%%%%% clear all; %清除所有变量 close all; %清图 clc; %清屏 m 50; %蚂蚁个数 Alpha 1; %信息素重要程度参数 Beta 5; %启发式因子重要程度参数 Rho 0.1; %信息素蒸发系数 G 20…

嵌入式学习笔记——STM32硬件基础知识

STM32开发硬件知识前言STM32最小系统电源电路晶振电路复位电路BOOT选择电路调试接口电路其他电路本文重点本文参考博客链接前言 上一篇中我们重点是讲了一下怎么搭建开发环境以及怎么下载烧录的过程&#xff0c;这都是解决的电脑端的开发环境问题&#xff0c;还没有到实际的开…

【C++初阶】list的使用

大家好我是沐曦希&#x1f495; 文章目录一、前言二、构造三、迭代器四、增删查改1.头插头删2.尾插尾删3.查找和插入4.删除五、其他成员函数1.排序和去重2.splice和remove3.resize一、前言 list本质是带头双向循环链表&#xff0c;本文只对list的一些常用接口进行说明&#xf…

用逻辑回归制作评分卡

目录 一.评分卡 二.导库&#xff0c;获取数据 三.探索数据与数据预处理 1.去除重复值 2.填补缺失值 3.描述性统计处理异常值 4.为什么不统一量纲&#xff0c;也不标准化数据分布 5.样本不均衡问题 6.分训练集和测试集 三.分箱 1.分多少个箱子才合适 2.分箱要达成什么…

真香,Grafana开源Loki日志系统取代ELK?

一、Loki是什么&#xff1f; Loki是由Grafana Labs开源的一个水平可扩展、高可用性&#xff0c;多租户的日志聚合系统的日志聚合系统。它的设计初衷是为了解决在大规模分布式系统中&#xff0c;处理海量日志的问题。Loki采用了分布式的架构&#xff0c;并且与Prometheus、Graf…

51单片机入门————数码管显示

我们在马路上看到的红绿灯&#xff0c;就是由数码管来实现的&#xff0c;就是其中可能加入了一些延时和转换数码管是通过控制138译码器与74HC245来控制数码管的亮灭与数字的显示电路原理图我们先讨论一个数码管数码管有共阳极和共阴极&#xff0c;我们现在使用的STC89C52是共阴…

Linux用户空间与内核空间通信(Netlink通信机制)

一&#xff0c;什么是Netlink通信机制 Netlink是linux提供的用于内核和用户态进程之间的通信方式。但是注意虽然Netlink主要用于用户空间和内核空间的通信&#xff0c;但是也能用于用户空间的两个进程通信。只是进程间通信有其他很多方式&#xff0c;一般不用Netlink。除非需要…

Cadence Allegro 导出Bill of Material Report (Condensed)详解

⏪《上一篇》   🏡《总目录》   ⏩《下一篇》 目录 1,概述2,Bill of Material Report (Condensed)作用3,Bill of Material Report (Condensed)示例4,Bill of Material Report (Condensed)导出方法4.1,方法14.2,方法2,

第十三届蓝桥杯

这里写目录标题一、刷题统计&#xff08;ceil函数返回的是等值于某最小整数的浮点值&#xff0c;不强制转换回int就wa&#xff0c;没错就连和int整数相加都wa二、修剪灌木&#xff08;主要应看清楚会调转方向三、统计子矩阵&#xff08;前缀和滑动窗口⭐&#xff09;四、[积木画…

十大经典排序算法【快速了解】

文章目录一、算法分类二、经典排序算法总览三、算法复杂度四、代码实现一、算法分类 十种常见排序算法可以分为两大类&#xff1a; 比较类排序&#xff1a; 通过比较来决定元素间的相对次序由于其时间复杂度不能突破O(nlogn)&#xff0c;因此也称为非线性时间比较类排序。 非…