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

目录

一、创建标签

二、查看标签

三、推送标签

四、删除标签


一、创建标签

标签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 +0000Git在线修改 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.024 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.hqwc.cn/news/460058.html

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

相关文章

NLP_“预训练+微调大模型”模式和Prompt/Instruct模式的异同

文章目录 “预训练微调大模型”的模式以提示/指令模式直接使用大模型“预训练微调大模型”模式和Prompt/Instruct模式的异同小结 “预训练微调大模型”的模式 经过预训练的大模型所习得的语义信息和所蕴含的语言知识&#xff0c;很容易向下游任务迁移。NLP应用人员可以根据自己…

JavaScript基础第四天

JavaScript 基础第四天 今天我们学习js的函数&#xff0c;包括普通函数、匿名函数、箭头函数以及函数作用域。 1. 函数的初体验 1.1. 什么是函数 函数是 JavaScript 中的基本组件之一。一个函数是 JavaScript 过程一组执行任务或计算值的语句。要使用一个函数&#xff0c;你…

qnx log写入文件 简单实现

qnx log写入文件 简单实现 #ifndef __COMMON_LOG__ #define __COMMON_LOG__#include "fcntl.h" #include "pthread.h" #include "stdarg.h" #include "unistd.h" #include <stdio.h> #include <string.h>//#define _LOG_…

Golang 基础 Go Modules包管理

Golang 基础 Go Modules包管理 在 Go 项目开发中&#xff0c;依赖包管理是一个非常重要的内容&#xff0c;依赖包处理不好&#xff0c;就会导致编译失败&#xff0c;本文将系统介绍下 Go 的依赖包管理工具。 我会首先介绍下 Go 依赖包管理工具的历史&#xff0c;并详细介绍下…

使用SM4国密加密算法对Spring Boot项目数据库连接信息以及yaml文件配置属性进行加密配置(读取时自动解密)

一、前言 在业务系统开发过程中,我们必不可少的会使用数据库,在应用开发过程中,数据库连接信息往往都是以明文的方式配置到yaml配置文件中的,这样有密码泄露的风险,那么有没有什么方式可以避免呢?方案当然是有的,就是对数据库密码配置的时候进行加密,然后读取的时候再…

JUnit实践教程——Java的单元测试框架

前言 大家好&#xff0c;我是chowley&#xff0c;最近在学单元测试框架——JUnit&#xff0c;写个博客记录一下&#xff01; 在软件开发中&#xff0c;单元测试是确保代码质量和稳定性的重要手段之一。JUnit作为Java领域最流行的单元测试框架&#xff0c;为开发人员提供了简单…

使用 WMI 查询安全软件信息

在这篇文章中&#xff0c;我们将详细介绍如何使用 Windows Management Instrumentation (WMI) API 来查询当前计算机上安装的安全软件的基本信息。我们将分析代码的各个部分&#xff0c;并解释每个步骤所涉及的技术和原理。 一、什么是 WMI&#xff1f; WMI 是 Windows Manag…

电力负荷预测 | 基于GRU门控循环单元的深度学习电力负荷预测,含预测未来(Python)

文章目录 效果一览文章概述源码设计参考资料效果一览 文章概述 电力负荷预测 | 基于GRU门控循环单元的深度学习电力负荷预测,含预测未来(Python&

STM32DMA

文章目录 前言一、介绍部分DMA简介存储器映像DMA框图仲裁器 DMA基本结构请求映像数据对齐方式数据转运ADC扫描模式配合DMA 二、代码部分DMA数据转运连接电路代码实现ADC扫描DMA实现思路连接电路代码实现 总结函数相关 前言 介绍STM32DMA的原理以及功能&#xff0c;使用DMA配合…

目标检测 | 卷积神经网络(CNN)详细介绍及其原理详解

前言&#xff1a;Hello大家好&#xff0c;我是小哥谈。卷积神经网络&#xff08;Convolutional Neural Network&#xff0c;CNN&#xff09;是一种深度学习模型&#xff0c;主要用于图像识别和计算机视觉任务。它的设计灵感来自于生物学中视觉皮层的工作原理。CNN的核心思想是通…

车载自动化项目:Python

1. 自动化测试用的什么框架&#xff1f; 第一种&#xff1a;PythonSeleniumuittest框架 首先是拿到需求文档&#xff0c;基于这个需求去进行搭建。 用pytestrequestallure 这些第三方库进行编写自动化脚本。 举个例子一般的话整个的一个自动化的搭建是分为6层嘛&#xff1a…

redis集群配置

redis集群配置.pdf 跳转/opt/redis → cd /opt/redis 1、下载redis wget http://download.redis.io/releases/redis-6.2.1.tar.gz 2、解压 tar -xzvf redis-6.2.1.tar.gz 3、编译 cd /opt/redis/redis-6.2.1 make MALLOClibc 4、安装 make PREFIX/opt/redis/ install ⽣成…