Git - 如何checkout一个tag

news/2024/11/23 1:43:23/

在版本管理中,Tag就是用来标记和保存一个配置状态,用来对配置进行跟踪和备份。

在发布版本时,一般都会创建一个Tag。然后用这个Tag就能引用到这个版本。

在Git中,如果知道一个Tag状态,如何在本地将配置切换到该状态呢?

使用checkmout命令,加上tag名,就可以切换到tag,类似于check out一个branch或commit。比如:

$ git checkout tags/<tag> -b <branch>

tags是前缀,不加也可以。还有后面的-b <branch>,也可以不加,如果不加,就是一个 'detached HEAD' state。

注意,这个tag是远程仓库的tag,而本地要有最新的tag list,包含这个要checkout出来的tag才可以。

如何更新本地tag list?

$ git fetch --all --tags 

Fetching origin 

From git-repository 

98a14be..7a9ad7f master -> origin/master 

* [new tag] v1.0 -> v1.0

这里fetch tags时,不加--all也可以。

举例,比如要checkout出一个“v1.0”的tag,同时创建一个新的branch名为“release”:

$ git checkout tags/v1.0 -b v1.0-branch 

Switched to a new branch 'v1.0-branch'

然后使用log命令查看一下本地工作区的状态,是否切换成功:

$ git log --oneline --graph 

* 53a7dcf (HEAD -> v1.0-branch, tag: v1.0) Version 1.0 commit 

* 0a9e448 added files 

* bd6903f (release) first commit

如何check出一个最新的tag出来?

1,更新本地Tag

$ git fetch --tags

2,使用git describe命令,取得最新的tag:

$ tag=$(git describe --tags `git rev-list --tags --max-count=1`) 

$ echo $tag 

v2.0

3,使用git checkout命令切换到新分支:

$ git checkout $tag -b latest 

Switched to a new branch 'latest'

然后使用git log命令来查阅是否操作成功。

参考:

1,How To Checkout Git Tags – devconnected


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

相关文章

Java - Lambda 表达式

一、背景 Lambda表达式是Java SE 8中一个重要的新特性。lambda表达式允许你通过表达式来代替功能接口。 lambda表达式就和方法一样,它提供了一个正常的参数列表和一个使用这些参数的主体(body,可以是一个表达式或一个代码块)。 Lambda 表达式&#xff08;Lambda expression&am…

托福高频真词List03 // 附阅读真题

目录 4月23日单词 4月23日真题 4月23日单词 adjacentneighboringnearbyadj 毗邻的dependablereliableadj 可靠的 chronology a list that pairs past events with dates n 年表remarkably closeextremely close极为接近competenceabilityn 才能supplementadd tov 补充supplem…

Mybatis框架超详解及运用总结

Mybatis 一、什么是Mybatils&#xff1f;二、第一个Mybatils程序2.1、创建springboot工程2.2、准备数据2.3、配置MyBatis2.4、编写SQL语句2.5、单元测试 三、JDBC四、数据库连接池五、lombok六、Mybatis基础操作6.1、删除6.2、新增6.2.1、主键返回 6.3、修改6.4、查询6.4.1、数…

基于 多态 的职工管理系统(Staff Management System)

目录 一、管理系统需求 作用&#xff1a;管理公司内所有员工的信息 分类&#xff1a;要显示每位员工的编号、姓名、岗位与职责 具体实现的功能&#xff1a; 二、创建管理 类 三、各个接口函数 1、菜单展示功能 2、 选择功能 3、创建员工功能 ①普通员工employee ②经理…

【SpringBoot基础】SpringBoot的常用注解

文章目录 1. SpringBootApplication2. Value3. RestController4. RequestMapping("/api2/copper")5. RequestParam6. ResponseBody7. Bean8. ComponentScan 1. SpringBootApplication 定义在main方法入口类处&#xff0c;用于启动sping boot应用项目。 2. Value a…

20230419----重返学习-webpack基础-vue脚手架

day-053-fifty-three-20230419-webpack基础-vue脚手架 webpack基础 配置CSS的解析和压缩规则 需要在打包页面中使用样式【编译less为css,最后把css导入到页面中】初始打包&#xff0c;不支持less,需要配置打包规则&#xff0c;支持less 创建less文件 示例为&#xff1a; 在src…

【备考2023年软考】选系统规划与管理师,还是信息系统项目管理师?

目录 一、系统规划与管理师介绍 二、信息系统项目管理师介绍 三、二者区别 四、适合什么人考 五、怎么备考 1.了解考试大纲 2.系统学习&#xff08;附带资料分享&#xff09; 3.多做题 4.总结复习 软考系统规划与管理师和信息系统项目管理师是软考中的两个比较热门的证…

力扣sql中等篇练习(七)

力扣sql中等篇练习(七) 1 查询活跃业务 1.1 题目内容 1.1.1 基本题目信息 1.1.2 示例输入输出 1.2 示例sql语句 # Write your MySQL query statement below # 先求出所有业务的平均发生次数 SELECT t2.business_id FROM (SELECT e.*,IF(e.occurences>t1.A_NUM,1,0) tota…