您现在的位置是:首页 >技术交流 >Git - 如何checkout一个tag网站首页技术交流

Git - 如何checkout一个tag

夜流冰 2023-06-07 00:00:02
简介Git - 如何checkout一个tag

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

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。