git tag的用法详解

发布时间:2024年01月24日

目录

一、tag标识一个commit

二、查看tag

三、对分支打tag

四、删除tag

五、根据某个tag来clone


一、tag标识一个commit

tag是用于去标记一个特定的commit。通常,在进行编译部署之前,我们需要对某一个即将release的版本进行tag,例如tag为release-v1.0。

tag基于某个commit来进行特定标识,生成一个带tag的类似branch,我们可以基于这个tag去生成新的分支,也可以根据tag切换到某个分支版本上,例如:

//生成新的branch,用tags/....去找tag
$ git checkout tags/<tag_name> -b <new_branch_name>
//比较:基于远程branch生成新分支,此语句直接可以将新分支进行set-upstream
$ git checkout origin/<remote_name> -b <new_branch_name>

//切换commit
$ git checkout tags/version 1.0

不过上述基于tag来checkout的前提,是要保证本地仓库中你有tags 的信息,所以要先fetch这些tags才能做出上述checkout指令,否则报错!!

// --all will fetch all the remotes.
// --tags will fetch all tags as well
$ git fetch --all --tags --prune

二、查看tag

  • 查看全部tags:

git tag
  • 查看以某格式匹配到tag内容的所有tags
git tag --list 'v-*'

三、对分支打tag

打tag分为两种方式,一种是直接打tag,打一个简单的标签

git tag v1.0

一个是打带注释的tag(annotated tags),此时后面可以通过 -m ,像提交commit一样备注你的评论以及其他信息

git tag -a v1.0 -m "Product Release"

在本地完成tag标记后,需要push到远程

  • ?将所有tags push到远程
git push --tags
  • ?将所有annotated tags和相关commit推上去
git push --follow-tags
  • 将特定tag推上去
git push origin <tag_name>

如果是想更新远程的tag,用--force

git push origin <tag_name>  --force

四、删除tag

  • 删除本地tag
git tag -d <tag_name>
  • 删除远程tag【通过push更新】
//注意要标明 origin
git push --delete origin <tag_name>

五、根据某个tag来clone

git clone <url> --branch=<tag_name>

文章来源:https://blog.csdn.net/weixin_57208584/article/details/135817601
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。