【Git版本控制 04】标签管理

news2024/10/5 14:12:15

目录

一、创建标签

二、查看标签

三、推送标签

四、删除标签


一、创建标签

标签tag,是对某次 commit 的⼀个标识,相当于起了⼀个别名。

相较于难以记住的 commit id , tag 很好的解决这个问题,因为 tag ⼀定要给⼀个让⼈容易记住,且有意义的名字。当我们需要回退到某个重要版本时,直接使⽤标签就能很快定位到。

# 切换到需要打标签的分支上,用 git tag [name] 给分支打标签
# 用 git tag 查看标签

(base) [root@localhost git-learning]# git branch
* master
(base) [root@localhost git-learning]# git tag v1.0
(base) [root@localhost git-learning]# git tag
v1.0
(base) [root@localhost git-learning]#
# 默认标签是打在最新提交的 commit 上,我们也可以指定 commit id 打标签

(base) [root@localhost git-learning]# git log --pretty=oneline --abbrev-commit
8d78346 add files: file.ini file.so
1ccab43 Git在线修改 file1.
ec3bb79 add first file
dd56a90 Initial commit
(base) [root@localhost git-learning]# git tag v0.0 1ccab43
(base) [root@localhost git-learning]# git tag
v0.0
v1.0
(base) [root@localhost git-learning]#

二、查看标签

git tag 查看标签不是按时间顺序列出,而是按字母排列的。

# git show [tagname] 查看标签具体信息

(base) [root@localhost git-learning]# git show v0.0
commit 1ccab432720ac02588358ed4c7054d1f96a03291
Author: 命运on9 <1210451061@qq.com>
Date:   Wed Feb 7 08:02:08 2024 +0000

    Git在线修改 file1.
    
    Signed-off-by: 命运on9 <1210451061@qq.com>

diff --git a/file1 b/file1
index 8d0e412..00eb667 100644
--- a/file1
+++ b/file1
@@ -1 +1,2 @@
 hello git
+Git 在线修改!
\ No newline at end of file
(base) [root@localhost git-learning]#
# Git还提供可以创建带有说明的标签,⽤-a指定标签名,-m指定说明⽂字
# 格式为:git tag -a [name] -m "XXX" [commit_id]
(base) [root@localhost git-learning]# tree .git
.git
├── branches
├── COMMIT_EDITMSG
├── config
├── description
├── FETCH_HEAD
├── HEAD
├── hooks
│   ├── applypatch-msg.sample
│   ├── commit-msg.sample
│   ├── post-update.sample
│   ├── pre-applypatch.sample
│   ├── pre-commit.sample
│   ├── prepare-commit-msg.sample
│   ├── pre-push.sample
│   ├── pre-rebase.sample
│   └── update.sample
├── index
├── info
│   └── exclude
├── logs
│   ├── HEAD
│   └── refs
│       ├── heads
│       │   └── master
│       └── remotes
│           └── origin
│               ├── HEAD
│               └── master
├── objects
│   ├── 00
│   │   └── eb6679fe92307b0f6f582f036da3694817c35f
│   ├── 1c
│   │   └── cab432720ac02588358ed4c7054d1f96a03291
│   ├── 78
│   │   └── 4d778d166192ed8c2bf9443ae3765a83e17a33
│   ├── 8d
│   │   ├── 0e41234f24b6da002d962a26c2495ea16a425f
│   │   └── 78346e75380738d1aa190988ce310f109522e7
│   ├── 96
│   │   └── c7dd0e5376c33df611fce289241c1da2c5c826
│   ├── c3
│   │   └── 14d4d60463feca795fcc83b2b314a12d408787
│   ├── e7
│   │   └── 2ce89ba7ed78350231db5b72d2807a3cfbd56a
│   ├── ec
│   │   └── 3bb79ba9580fb15ecaeb21efb7391c11dd36d2
│   ├── info
│   └── pack
│       ├── pack-3ab36bb2fcbccbe256351f785976fe27f9fb5bf8.idx
│       └── pack-3ab36bb2fcbccbe256351f785976fe27f9fb5bf8.pack
├── ORIG_HEAD
├── packed-refs
└── refs
    ├── heads
    │   └── master
    ├── remotes
    │   └── origin
    │       ├── HEAD
    │       └── master
    └── tags
        ├── v0.0
        └── v1.0

24 directories, 38 files
(base) [root@localhost git-learning]#

三、推送标签

# 将标签推送到远程仓库

(base) [root@localhost git-learning]# git tag
v0.0
v1.0
(base) [root@localhost git-learning]# git push origin v1.0
Total 0 (delta 0), reused 0 (delta 0)
remote: Powered by GITEE.COM [1.1.5]
remote: Set trace flag 724b2093
To git@gitee.com:hdu-a-chao/git-learning.git
 * [new tag]         v1.0 -> v1.0
(base) [root@localhost git-learning]# 

四、删除标签

# 如果标签打错了,可以用 git tag -d [tagname] 删除标签

(base) [root@localhost git-learning]# git tag -d v0.0
已删除 tag 'v0.0'(曾为 1ccab43)
(base) [root@localhost git-learning]# git tag
v1.0
(base) [root@localhost git-learning]#
# 如果已经将标签推送到远程仓库,想要删除标签怎么办?
# 先在本地仓库删除,再将本地仓库推送到远程仓库

(base) [root@localhost git-learning]# git tag
v1.0
(base) [root@localhost git-learning]# git tag -d v1.0
已删除 tag 'v1.0'(曾为 8d78346)
(base) [root@localhost git-learning]# git push origin :refs/tags/v1.0
remote: Powered by GITEE.COM [1.1.5]
remote: Set trace flag 274a87aa
To git@gitee.com:hdu-a-chao/git-learning.git
 - [deleted]         v1.0
(base) [root@localhost git-learning]#

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

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

相关文章

嵌入式学习Day14 C语言 --- 位运算

位运算 注意&#xff1a;符号位也遵循这个规则 一、按位与(&) 运算规则&#xff1a;一假则假 int a 0x33;a & 0x55;0011 00110101 0101 &----------0001 0001 //0x11 二、按位或(|) 运算规则&#xff1a;一真则真 int a 0x33;a |0x55;0011 00110101 0101 |…

【k8s系列】(202402) 证书apiserver_client_certificate_expiration_seconds

apiserver_client_certificate_expiration_second证书定义的位置&#xff1a;kubernetes/staging/src/k8s.io/apiserver/pkg/authentication/request/x509/x509.go at 244fbf94fd736e94071a77a8b7c91d81163249d4 kubernetes/kubernetes (github.com) apiserver_client_certi…

[机器学习]K-means——聚类算法

一.K-means算法概念 二.代码实现 # 0. 引入依赖 import numpy as np import matplotlib.pyplot as plt # 画图依赖 from sklearn.datasets import make_blobs # 从sklearn中直接生成聚类数据# 1. 数据加载 # 生成&#xff08;n_samples&#xff1a;样本点&#xff0c;centers&…

83 CTF夺旗-Python考点SSTI反序列化字符串

这里写目录标题 CTF各大题型简介演示案例:CTF夺旗-Python-支付逻辑&JWT&反序列化CTF夺旗-Python-Flask&jinja2&SSTl模版注入CTF夺旗-Python-格式化字符串漏洞&读取对象 涉及资源&#xff1a; 我们这篇文章主要讲的是CTF在web渗透测试方向的3个考点 CTF各大…

【C语言】位与移位操作符详解

目录 1.⼆进制和进制转换 ①十进制&#xff1a;生活中最常用 ②二进制&#xff1a;计算机中使用的&#xff0c;每个数字称为一个比特 ③八进制、十六进制也如上 ④二进制转十进制 ⑤十进制转二进制 ⑥二进制转八进制 ⑦二进制转十六进制 2.原码、反码、补码 3.移位操…

计算机网络概念、组成、功能和分类

文章目录 概要1.怎么学习计算机网络2.概念3.功能、组成4.工作方式、功能组成5.分类 概要 概念、组成、功能和分类 1.怎么学习计算机网络 2.概念 通信设备&#xff1a;比如路由器、路由器 线路&#xff1a;将系统和通信设备两者联系的介质之类的 计算机网络是互连的、自治的的计…

【学习笔记】TypeScript学习笔记1 --TypeScript中的类型

文章目录 TS总的变量类型References TS总的变量类型 备注&#xff1a; 如果一个变量设置为了any 类型之后相当于变量关闭了TS的类型检测 let d: any; d 10; d hello;//unknown表示的是未知类型&#xff0c;实际是上一个安全的any,unknown类型的变量不能直接赋值给其他变量le…

Excel——自定义排序、多条件排序

一、自定义排序 Q&#xff1a;请按照“新疆、湖北、天津、北京、湖南”的先后顺序整理以下表格 A&#xff1a;步骤如下&#xff1a; 选择表格中任意一个单元格 选择【排序】——【自定义排序】 选择主要关键字【地区】&#xff0c;在次序中选择【自定义序列】 选择【添加】&…

C++ JSON解析

JSON解析 JSONCPPC实现JSON解析器 JSONCPP JSONCPP源码链接&#xff1a;https://github.com/open-source-parsers/jsoncpp JSOCPP源码下载以后&#xff0c;首先复制一份include文件夹下的json文件夹&#xff0c;头文件留着后续备用。 使用Cmake生成项目。在IDE中编译jsoncpp_…

使用SpringMVC实现功能

目录 一、计算器 1、前端页面 2、服务器处理请求 3、效果 二、用户登陆系统 1、前端页面 &#xff08;1&#xff09;登陆页面 &#xff08;2&#xff09;欢迎页面 2、前端页面发送请求--服务器处理请求 3、效果 三、留言板 1、前端页面 2、前端页面发送请求 &…

Spring核心基础:全面总结Spring中提供的那些基础工具类!

内容概要 Spring Framework 提供了众多实用的工具类&#xff0c;这些工具类在简化开发流程、提升代码质量和维护性方面发挥了重要作用&#xff0c;以下是部分关键工具类的总结及其使用场景&#xff1a; StringUtils&#xff1a;不仅提供了基础的字符串操作&#xff0c;如拼接…

Leetcode刷题笔记题解(C++):64. 最小路径和

思路一&#xff1a;dfs深度优先搜索&#xff0c;然后取最小路径值&#xff0c;但是时间消耗较大&#xff0c;时间复杂度可能不满足&#xff0c;代码如下&#xff1a; class Solution { public:int res 1000000;int rows,cols;int minPathSum(vector<vector<int>>…

跳过mysql5.7密码并重置密码 shell脚本

脚本 目前只是验证了5.7 版本是可以的&#xff0c;8.多的还需要验证 以下是一个简单的Shell脚本&#xff0c;用于跳过MySQL密码设置并重置密码&#xff1a; #!/bin/bash yum install psmisc -y# 停止MySQL服务 sudo service mysqld stop# 跳过密码验证 sudo mysqld --skip-g…

SpringBoot集成Swagger2的增强版Knife4j

1. 背景 作为SpringBoot集成中间件其中的一篇文章吧&#xff0c;既然打算出这么一个系列了&#xff0c;争取做到虽小却全&#xff0c;又精又美的一个系列吧。 Swagger应该都有接触吧&#xff0c;knife4j是Swagger2的增强版&#xff0c;更加友好的操作页面&#xff0c;更多强大…

瑞_力扣LeetCode_二叉树相关题

文章目录 说明题目 144. 二叉树的前序遍历题解 题目 94. 二叉树的中序遍历题解 题目 145. 二叉树的后序遍历题解 题目 105. 从前序与中序遍历序列构造二叉树题解 题目 106. 从中序与后序遍历序列构造二叉树题解 &#x1f64a; 前言&#xff1a;本文章为瑞_系列专栏之《刷题》的…

NAT几种模式的简介

静态NAT&#xff08;不转换端口号&#xff09;也叫一对一NAT&#xff0c;固定对应关系&#xff1a;内部网络服务器对外提供服务。 动态NAT之NO-PAT&#xff08;不转换端口号&#xff09;&#xff0c;一对多。 动态NAT之NAPT&#xff08;转换端口号&#xff09;&#xff0c;一对…

《Git 简易速速上手小册》第2章:理解版本控制(2024 最新版)

文章目录 2.1 本地仓库与版本历史2.1.1 基础知识讲解2.1.2 重点案例&#xff1a;回滚错误提交2.1.3 拓展案例 1&#xff1a;利用 git bisect 查找引入 bug 的提交2.1.4 拓展案例 2&#xff1a;合并提交历史 2.2 远程仓库的使用2.2.1 基础知识讲解2.2.2 重点案例&#xff1a;在 …

2024年龙年春节热点!过年期间想股票开户可以吗?怎么找到低佣金开户渠道?

股票投资技巧可以帮助投资者在股票市场中进行更明智的决策和更有效的操作。以下是一些常见的股票投资技巧&#xff1a; 研究和分析&#xff1a;在购买股票之前&#xff0c;投资者应该进行充分的研究和分析。这包括了解公司的基本面&#xff0c;如财务状况、业务模式和竞争优势等…

modelsim仿真使用到vivado的IP,该如何使用!

modelsim仿真时&#xff0c;如果使用到了vivado的IP就会报错&#xff0c;本次就告诉大家如何将vivado的IP添加到modelsim中直接仿真。 一、生成ini文件以及IP打包 打开vivado&#xff0c;点击上方的Tools-->Compile Simulation Libraries得到如下界面 simulator&#xff1…

【Linux】基于管道进行进程间通信

进程间通信 一、初识进程间通信1. 进程间通信概念2. 进程间通信分类 二、管道1. 管道概念2. 管道原理3. 匿名管道4. 匿名管道系统接口5. 管道的特性和情况6. 匿名管道的应用&#xff08;1&#xff09;命令行&#xff08;2&#xff09;进程池 7. 命名管道&#xff08;1&#xff…