在版本管理中,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

Git - 如何checkout一个tag相关推荐

  1. Git如何checkout远程tag

    拉取项目 执行命令git clone: git clone git@github.com:secbr/nacos.git 查看远程tag 执行命令git tag: appledeMacBook-Pro ...

  2. 怎么把git代码导入到本地仓库_git在本地仓库添加了一个tag,如何把这个tag同步到远程仓库?...

    推送所有tag :git push --tags 附git常用命令 查看文件状态 :git status 切换分支 :git checkout [分支名] 新增文件 :git add [文件名] 新增 ...

  3. 什么是 Git tag,如何打一个 tag

    在 Git 中,tag 是指定 Git 历史中某一个节点的引用,一般用于发布版本,比如 v1.0.1. Tag 有两种: 注释 Tag(Annotated Tags),这种 Tag 会包含大量的元数据 ...

  4. git 使用详解-- tag打标签

    Git 的标签管理.跟大多数的 VCS 工具一样,git 也有在历史状态的关键点"贴标签"的功能,一般人们用这个功能来标记发布点(例如'v1.0′). 列出git中现有标签 要想列 ...

  5. git把另一个盘的代码上传_Git内部原理揭秘!从文件更改到代码储存,Git究竟是怎么实现的...

    原标题:Git内部原理揭秘!从文件更改到代码储存,Git究竟是怎么实现的 新智元推荐 来源:腾讯技术工程 作者:lzaneli [新智元导读]本文以一个具体实例结合动图介绍了Git的内部原理,包括Gi ...

  6. Git 基础知识 - 标记tag

    标记 列出您的标签 创建标签 带注释的标签 轻量级标签 稍后标记 共享标签 删除标签 签出标签 像大多数VCS一样,Git能够将存储库历史记录中的特定点标记为重要.通常,人们使用此功能来标记发布点(等 ...

  7. 【git】checkout时遇到的detached HEAD问题

    [git]checkout时遇到的detached HEAD问题 checkout checkout本质改变的是head指向,将进行以下步骤: 将HEAD指向那个分支的最后一次commit 将HEAD ...

  8. git 远程分支和tag标签的操作

    git远程分支操作: 1.创建远程分支 git push --set-upstream origin develop:develop2 在服务器创建远程分支devlop2,让本地的develop分支和 ...

  9. Git 基础 - 打标签 tag

    打标签 同大多数 VCS 一样,Git 也可以对某一时间点上的版本打上标签.人们在发布某个软件版本(比如 v1.0 等等)的时候,经常这么做.本节我们一起来学习如何列出所有可用的标签,如何新建标签,以 ...

最新文章

  1. 1 分钟带你认识从 � 到 锟斤拷
  2. STL的erase()陷阱-迭代器失效总结
  3. 《易学C++(第2版)》——1.10 习题
  4. python读excel表格
  5. 统计学习方法(九)EM算法及其推广
  6. 清北学堂模拟赛d6t4 数组异或
  7. 前端路由: hash history 模式
  8. PL/SQL生成表的数据结构关系图
  9. 你有必要不沾计算机一段时间英语,2014新人教版八年级英语下册第一单元必背词组及句子...
  10. 光学efl_海康机器人:镜头学堂之工业镜头参数知多少
  11. android 带箭头的框,带有工具提示箭头的Android PopupWindow
  12. Win10 1607 频繁断网,迅雷断网以及迅雷下载崩溃解决方案
  13. 朋友会触动我们的心灵
  14. 人脸识别原理:(初级篇)内含PPT
  15. 算法竞赛入门【码蹄集进阶塔335题】(MT2076-2100)
  16. 帝国CMS 7.2 蓝色响应式网站模板自适应宽屏智能整站源码 A1
  17. 如何将视频中的水印去掉,视频去水印哪个好
  18. VS源文件提取工具vsjuicer 实现细节
  19. 云笔记是干什么用的,看云笔记的优点和使用心得分享
  20. tritonserver的metrics参数说明

热门文章

  1. Cello项目填坑记:oprator dashborad的前端Nodejs代码编译打包问题
  2. 使用yarn代替npm
  3. 【渝粤教育】电大中专计算机职业素养 (14)作业 题库
  4. 【渝粤教育】电大中专计算机职业素养_1作业 题库
  5. 【毕业季·进击的技术er】自己的选择,跪着也要走
  6. 在windows下编译Botan
  7. Kubernetes EFK 日志收集
  8. 计算机应用基础终极性,计算机应用基础z终结性考核(8页)-原创力文档
  9. mysql是应用软件还是系统软件_数据库管理系统属于系统软件还是应用软件
  10. HTML基础标签总结(仅用作复习,持续补充扩展)