当前位置: 首页 > news >正文

Git学习笔记(六)-标签管理

发布一个版本时,我们通常先在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本。将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来。所以,标签也是版本库的一个快照。

一、创建标签

(1)命令 git tag v1.0(标签名)

打一个新标签,在目前最新的版本上。

$ git tag v1.0

(2)命令 git tag

查看所有标签

$ git tag
v1.0

(3)命令 git tag commit_id

如果忘了打标签,比如,现在已经是周五了,但应该在周一打的标签没有打,可以使用找到需要打标签的commit_id,然后打标签。

abafad6 (HEAD -> master, tag: v1.0, origin/master) merged bug fix 101
91a4683 fix bug 101
f4961d3 merge with no-ff
0e13ee2 add merge
47e9b49 conflict fixed
6f306dd &simple
cd8fa2d AND simple
ea4444f branch text
53e89d7 remove test.txt
ed0dc67 add test.txt
e87225d git tracks changes 1
fe8a3cb git tracks changes
52edc0e understand how stage works
9178f48 append GPL
84cca88 add distributed
bdcbe49 wrote a readme file

比如要给add merge打标签,其对应的commit_id 是0e13ee2,则打标签的命令如下:

git tag v0.9 0e13ee2

查看标签历史,git tag可以看见

$ git tag
v0.9
v1.0

(4)命令git show <tagname>

查看历史标签信息

li**@LAPTOP-MU**9V MI** ~/learngit (master)
$ git show v0.9
commit 0e13ee214fda9079dc00873b13594e822de43b7f (tag: v0.9)
Author: Li** <8507**5@qq.com>
Date:   Wed Mar 8 16:28:27 2023 +0800add mergediff --git a/readme.txt b/readme.txt
index 241c79a..5b67ce1 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,3 +1,4 @@
+Edit on dev branch.Git is a distributed version control system.Git is free software distributed under the GPL.Git has a mutable index called stage.

(5)命令git tag -a <tagname> -m " " <commit_id>

创建带有说明的标签,用-a指定标签名,-m指定说明文字。

$ git tag -a v0.1 -m "version 0.1 released" 9178f48

查看标签记录

$ git show v0.1
tag v0.1
Tagger: Li** <8507**5@qq.com>
Date:   Thu Mar 9 15:58:06 2023 +0800version 0.1 releasedcommit 9178f48947263ebeb3535bb46ae14f570b3849f2 (tag: v0.1)
Author: Li** <8507**5@qq.com>
Date:   Sat Mar 4 17:10:37 2023 +0800append GPLdiff --git a/readme.txt b/readme.txt
index 013b5bc..99e0e11 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,2 +1,2 @@Git is a distributed version control system.
-Git is free software.
\ No newline at end of file
+Git is free software distributed under the GPL.
\ No newline at end of file

创建标签总结:

命令git tag <tagname>用于新建一个标签,默认为HEAD,也可以指定一个commit id;

注意:标签总是和某个commit挂钩。如果这个commit既出现在master分支,又出现在dev分支,那么在这两个分支上都可以看到这个标签。

二、操作标签

(1)命令git tag -d <tagname>

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

$ git tag -d v0.1
Deleted tag 'v0.1' (was d0c1eb0)

(2)命令git push origin <tagname>

推送某个标签到远程。

$ git push origin v1.0
Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
To github.com:lily-wang0524/learngit.git* [new tag]         v1.0 -> v1.0

(3)命令git push origin --tags

一次性推送全部尚未推送到远程的本地标签

$ git push origin --tags
Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
To github.com:lily-wang0524/learngit.git* [new tag]         v0.9 -> v0.9

(4)删除远程标签git push origin :refs/tags/<tagname>

如果标签已经推送到远程,要删除远程标签就麻烦一点,先从本地删除,然后,从远程删除。

1)删除本地标签

$ git tag -d v0.9  #删除本地标签
Deleted tag 'v0.9' (was 0e13ee2)

2)删除远程标签

$ git push origin :refs/tags/v0.9  #删除远程标签v0.9
To github.com:li**-wa***/learngit.git- [deleted]         v0.9

看看是否真的从远程库删除了标签,可以登陆GitHub查看。可以看见v0.9已经被删除。

相关文章:

Git学习笔记(六)-标签管理

发布一个版本时&#xff0c;我们通常先在版本库中打一个标签&#xff08;tag&#xff09;&#xff0c;这样&#xff0c;就唯一确定了打标签时刻的版本。将来无论什么时候&#xff0c;取某个标签的版本&#xff0c;就是把那个打标签的时刻的历史版本取出来。所以&#xff0c;标签…...

Semaphore 源码解读

一、Semaphore Semaphore 通过设置一个固定数值的信号量&#xff0c;并发时线程通过 acquire() 获取一个信号量&#xff0c;如果能成功获得则可以继续执行&#xff0c;否则将阻塞等待&#xff0c;当某个线程使用 release() 释放一个信号量时&#xff0c;被阻塞的线程则可以被唤…...

RZ/G2L工业核心板U盘读写速率测试

1. 测试对象HD-G2L-IOT基于HD-G2L-CORE工业级核心板设计&#xff0c;双路千兆网口、双路CAN-bus、2路RS-232、2路RS-485、DSI、LCD、4G/5G、WiFi、CSI摄像头接口等&#xff0c;接口丰富&#xff0c;适用于工业现场应用需求&#xff0c;亦方便用户评估核心板及CPU的性能。HD-G2L…...

《SQL与数据库基础》18. MySQL管理

SQL - MySQL管理MySQL管理系统数据库常用工具mysqlmysqladminmysqlbinlogmysqlshowmysqldumpmysqlimportsource本文以 MySQL 为例 MySQL管理 系统数据库 Mysql数据库安装完成后&#xff0c;自带了以下四个数据库&#xff0c;具体作用如下&#xff1a; 数据库含义mysql存储My…...

达梦关系型数据库

达梦关系型数据库一、DM8 安装1. 安装包下载2. Docker 安装3. Linux 安装4. Windows 安装二、DM 管理工具三、命令行交互工具 DIsql四、DM8 SQL使用1. 创建模式2. 创建表3. 修改表4. 读写数据5. 查看库下所有的表名6. 查看表字段信息GitHub: link. 欢迎star国产自主研发的大型…...

Postgresql | 执行计划

SQL优化主要从三个角度进行&#xff1a; &#xff08;1&#xff09;扫描方式&#xff1b; &#xff08;2&#xff09;连接方式&#xff1b; &#xff08;3&#xff09;连接顺序。 如果解决好这三方面的问题&#xff0c;那么这条SQL的执行效率就基本上是靠谱的。看懂SQL的执行计…...

Vue3之父子组件通过事件通信

前言 组件间传值的章节我们知道父组件给子组件传值的时候&#xff0c;使用v-bind的方式定义一个属性传值&#xff0c;子组件根据这个属性名去接收父组件的值&#xff0c;但是假如子组件想给父组件一些反馈呢&#xff1f;就不能使用这种方式来&#xff0c;而是使用事件的方式&a…...

在云服务器安装tomcat和mysql

将 linux 系统安装包解压到指定目录进入 bin 目录执行./startup.sh 命令启动服务器执行./shutdown.sh 关闭服务器在浏览器中访问虚拟机中的 tomcat ip端口具体操作入下解压tomcat压缩包解压&#xff0c;输入tom按table键自动补全tar -zxvf 启动tomcat进入bin目录在linux启动to…...

IO多路复用(select、poll、epoll网络编程)

目录一、高级IO相关1.1 同步通信和异步通信1.2 阻塞与非阻塞1.3 fcntl 函数二、五种IO模型2.1 阻塞式IO模型2.2 非阻塞式IO模型2.3 多路复用IO模型2.4 信号驱动式IO模型2.5 异步IO模型三、认识IO多路复用四、select4.1 认识select函数4.2 select函数原型4.3 select网络编程4.4 …...

Spark单机伪分布式环境搭建、完全分布式环境搭建、Spark-on-yarn模式搭建

搭建Spark需要先配置好scala环境。三种Spark环境搭建互不关联&#xff0c;都是从零开始搭建。如果将文章中的配置文件修改内容复制粘贴的话&#xff0c;所有配置文件添加的内容后面的注释记得删除&#xff0c;可能会报错。保险一点删除最好。Scala环境搭建上传安装包解压并重命…...

C++网络编程(一)本地socket通信

C网络编程(一) socket通信 前言 本次内容简单描述C网络通信中&#xff0c;采用socket连接客户端与服务器端的方法&#xff0c;以及过程中所涉及的函数概要与部分函数使用细节。记录本人C网络学习的过程。 网络通信的Socket socket,即“插座”,在网络中译作中文“套接字”,应…...

【Docker】Linux下Docker安装使用与Docker-compose的安装

【Docker】的安装与启动 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo sudo yum install docker-cesudo systemctl enable dockersudo systemct…...

构造函数与普通函数,显式原型与隐式原型,原型与原型链

原型与原型链1 学前先了解一些概念1.1 构造函数和普通函数的区别1.1.1 调用方式1.1.2 函数中this的指向不同1.1.3 写法不同1.2 问题明确2 原型与原型链2.1 原型2.2 显式原型与隐式原型2.3 原型链3 原型链环形结构1 学前先了解一些概念 1.1 构造函数和普通函数的区别 构造函数…...

跨过社科院与杜兰大学金融管理硕士项目入学门槛,在金融世界里追逐成为更好的自己

没有人不想自己变得更优秀&#xff0c;在职的我们也是一样。当我们摸爬滚打在职场闯出一条路时&#xff0c;庆幸的是我们没有沉浸在当下&#xff0c;而是继续攻读硕士学位&#xff0c;在社科院与杜兰大学金融管理硕士项目汲取能量&#xff0c;在金融世界里追逐成为更好的自己。…...

macOS 13.3 Beta 3 (22E5236f)With OpenCore 0.9.1开发版 and winPE双引导分区原版镜像

原文地址&#xff1a;http://www.imacosx.cn/112494.html&#xff08;转载请注明出处&#xff09;镜像特点完全由黑果魏叔官方制作&#xff0c;针对各种机型进行默认配置&#xff0c;让黑苹果安装不再困难。系统镜像设置为双引导分区&#xff0c;全面去除clover引导分区&#x…...

InceptionTime 复现

下载数据集&#xff1a; https://www.cs.ucr.edu/~eamonn/time_series_data/ 挂梯子&#xff0c;开全局模式即可 配置环境 虚拟环境基于python3.9&#xff0c; tensorflow下载&#xff1a;pip install tensorflow&#xff0c;不需要tensorflow-gpu&#xff08;高版本python&…...

谷粒学院开发(二):教师管理模块

前后端分离开发 前端 html, css, js, jq 主要作用&#xff1a;数据显示 ajax后端 controller service mapper 主要作用&#xff1a;返回数据或操作数据 接口 讲师管理模块&#xff08;后端&#xff09; 准备工作 创建数据库&#xff0c;创建讲师数据库表 CREATE TABLE edu…...

2021牛客OI赛前集训营-提高组(第三场) T4扑克

2021牛客OI赛前集训营-提高组&#xff08;第三场&#xff09; 题目大意 小A和小B在玩扑克牌游戏&#xff0c;规则如下&#xff1a; 从一副52张牌&#xff08;没有大小王&#xff09;的扑克牌中随机发3张到每个玩家手上&#xff0c;每个玩家可以任意想象另外两张牌&#xff0…...

【OJ比赛日历】快周末了,不来一场比赛吗? #03.11-03.17 #12场

CompHub 实时聚合多平台的数据类(Kaggle、天池…)和OJ类(Leetcode、牛客…&#xff09;比赛。本账号同时会推送最新的比赛消息&#xff0c;欢迎关注&#xff01;更多比赛信息见 CompHub主页 或 点击文末阅读原文以下信息仅供参考&#xff0c;以比赛官网为准目录2023-03-11&…...

C++-说一说异常机制

C异常机制是一种处理程序错误的高级方法。当程序出现错误时&#xff0c;可以通过抛出异常来通知调用者进行处理&#xff0c;或者在异常对象被捕获之后终止程序执行。 异常处理语法 在C中&#xff0c;可以使用 throw 抛出异常&#xff0c; try-catch 处理异常&#xff0c;try块中…...

【Linux】shell脚本忽略错误继续执行

在 shell 脚本中&#xff0c;可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行&#xff0c;可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令&#xff0c;并忽略错误 rm somefile…...

uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖

在前面的练习中&#xff0c;每个页面需要使用ref&#xff0c;onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入&#xff0c;需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...

什么是EULA和DPA

文章目录 EULA&#xff08;End User License Agreement&#xff09;DPA&#xff08;Data Protection Agreement&#xff09;一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA&#xff08;End User License Agreement&#xff09; 定义&#xff1a; EULA即…...

3403. 从盒子中找出字典序最大的字符串 I

3403. 从盒子中找出字典序最大的字符串 I 题目链接&#xff1a;3403. 从盒子中找出字典序最大的字符串 I 代码如下&#xff1a; class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...

自然语言处理——循环神经网络

自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元&#xff08;GRU&#xff09;长短期记忆神经网络&#xff08;LSTM&#xff09…...

Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)

Aspose.PDF 限制绕过方案&#xff1a;Java 字节码技术实战分享&#xff08;仅供学习&#xff09; 一、Aspose.PDF 简介二、说明&#xff08;⚠️仅供学习与研究使用&#xff09;三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...

算法:模拟

1.替换所有的问号 1576. 替换所有的问号 - 力扣&#xff08;LeetCode&#xff09; ​遍历字符串​&#xff1a;通过外层循环逐一检查每个字符。​遇到 ? 时处理​&#xff1a; 内层循环遍历小写字母&#xff08;a 到 z&#xff09;。对每个字母检查是否满足&#xff1a; ​与…...

十九、【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建

【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建 前言准备工作第一部分:回顾 Django 内置的 `User` 模型第二部分:设计并创建 `Role` 和 `UserProfile` 模型第三部分:创建 Serializers第四部分:创建 ViewSets第五部分:注册 API 路由第六部分:后端初步测…...

Appium下载安装配置保姆教程(图文详解)

目录 一、Appium软件介绍 1.特点 2.工作原理 3.应用场景 二、环境准备 安装 Node.js 安装 Appium 安装 JDK 安装 Android SDK 安装Python及依赖包 三、安装教程 1.Node.js安装 1.1.下载Node 1.2.安装程序 1.3.配置npm仓储和缓存 1.4. 配置环境 1.5.测试Node.j…...

高抗扰度汽车光耦合器的特性

晶台光电推出的125℃光耦合器系列产品&#xff08;包括KL357NU、KL3H7U和KL817U&#xff09;&#xff0c;专为高温环境下的汽车应用设计&#xff0c;具备以下核心优势和技术特点&#xff1a; 一、技术特性分析 高温稳定性 采用先进的LED技术和优化的IC设计&#xff0c;确保在…...