git tag用法详解

这篇具有很好参考价值的文章主要介绍了git tag用法详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1 功能

git tag:用来创建、查看、删除、校验(GPG 校验)本地的 tag,创建、删除 tag 到远程仓库

2 概述

查看 git 版本:git -v/--version

git 1.x 版本参数:

git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>]
           <tagname> [<commit> | <object>]
git tag -d <tagname>...
git tag [-n[<num>]] -l [--contains <commit>] [--points-at <object>]
        [--column[=<options>] | --no-column] [<pattern>...]
        [<pattern>...]
git tag -v <tagname>...

git 2.x 版本新增参数:

git tag  [--create-reflog] [--sort=<key>] [--format=<format>]
		    [--merged <commit>] [--no-merged <commit>] [<pattern>…​]

3 参数详解

默认是新增 tag,只有指定-d/-l/-v 参数时是删除/查看/校验 tag

3.1 新增 tag

git tag <tagname>:创建一个不带任何注解的的标签,标签默认指向当前 HEAD 的 commit

git tag <tagname> <commit>:用指定的 commit 创建标签

-a, --annotate:创建一个带注解的标签,必须指定 -m <msg> 或者 -f <file> 参数,否则会弹出默认编辑器编写注解信息

-s, --sign:使用 GPG 签名标签,默认使用 git 用户的 email 作为 key,如果没有 gpg 程序或者没有生成 gpg 密钥对会报错

-u <key-id>, --local-user=<key-id>:指定 gpg 签名的 key,需要有 gpg 秘钥对

-f, --force:如果已经存在标签,强制替换老的标签

-m <msg>, --message=<msg>:标注信息来自于命令行文本

-F <file>, --file=<file>:标注信息来自于文件

3.2 删除 tag

-d, --delete:删除已存在的标签

3.3 查看 tag

git tag:默认显示所有标签

-l <pattern>, --list <pattern>:显示符合指定模式的标签,支持 shell 模式下的通配符,如:任意数量字符 *、单个字符 ? 、字符集 [a-z] 、序列 {1..5}/{a..g},不支持正则

-n<num>:每个标签显示多少行的注解信息

--column[=<options>], --no-column:–column 参数单行显示所有标签,而不是一行显示一个标签。至于 options,没有查到用法

--contains <commit>:列出包含指定 commit 的 tag,如:taga 指向 commit3,而 commit3 的父节点有 commit1、commit2,那么–contains commit1,是会列出标签 taga 的。

--points-at <object>:列出指向某个 commit 的所有 tag

--cleanup=<mode>:模式有:verbatim, whitespace,strip。verbatim:显示所有,whitespace:清除头和尾的空白行,strip:清除 whitespace 和注释行

3.4 校验 tag

-v, --verify:校验标签,只能校验使用 gpg 签名过的标签

3.5 2.X 版本参数

--create-reflog:新增 tag 时,为新增的 tag 指定一个引用,可以是分支、标签、hash 值

--sort=<key>/<-key>:为所有的 tag 排序显示: key 顺序、-key 逆序,默认排序是按照 ASCII 排序,可以指定的排序方式:refname(默认)、version:refname、taggerdate、tagger、committerdate、objecttype。version:refname:按照版本号排序,例如:V1.0、V1.1、V1.2,和默认的区别就是后面是数值,以数值大小排序。taggerdate:以创建 tag 的时间排序。tagger:以 tag 的创建人排序。committerdate:以 commit 的时间排序。objecttype:以对象类型排序。

--format=<format>:以指定格式显示,默认为:--format="%(refname:strip=2)" ,引用名称为:refs/tags/tagname,strip=2 后则是 tagname,其他的占位符:

%n: 换行符
%(refname): 标签的引用名称(例如 refs/tags/v1.0)
%(objectname)`: 标签的对象名称(例如 1a2b3c4d)
%(*objectname): 标签指向的对象的对象名称(例如 1a2b3c4d)
%(*objecttype): 标签指向的对象的类型(例如 commit、tree、blob 等)
%(*objectsize): 标签指向的对象的大小(以字节为单位)
%(*taggername): 标签的创建者的名称
%(*taggeremail): 标签的创建者的电子邮件地址
%(*taggerdate): 标签的创建时间
%(*subject): 标签的说明文字

--merged <commit>:列出指向 commit 的 tag,含义同 --points-at <object>

--no-merged <commit>:列出不指向 commit 的 tag

4 本地操作示例

切换 tag

git checkout tagname

新增 tag

# 新增不带标注的tag,tag指向当前HEAD
git tag tagname

# 新增带标注的tag,tag指向当前HEAD
git tag -a tag name -m “tag message”

# 新增tag,指向分支/tag/哈希
git tag tagname 分支/tag/哈希

# 强制覆盖旧tag
git tag tagname -f -m "tag message"

删除 tag

git tag -d tagname

查看 tag

# 显示所有tag
git tag

# 显示前5个tag
git tag |head -n5

# 显示指定tag
git tag tagname

# 显示tag指向的hash
git rev-parse tagname

# 显示符合指定模式的tag
git tag --list "V1.*"
git tag --list "V1.?"
git tag --list "V1.[1-5].*"

# 显示包含指定commit的tag
git tag --contains commit-id

# 显示指向某个commit的tag
git tag --points-at commit-id

2.X 版本功能

# tag按照版本号排序显示
git tag --sort "version:refname"
# tag按照版本号排序显示,逆序
git tag --sort "-version:refname"
# tag按照tag时间排序
git tag --sort "taggerdate"

# tag按照指定格式显示,例如
git tag --list --format="%(refname:strip=2)  Committer:%(taggername)"

5 远程操作示例

可以对远程仓库标签执行:新增和删除文章来源地址https://www.toymoban.com/news/detail-774014.html

# 推送标签
git push origin tagname

# 推送所有标签
git push origin --tags

# 删除指定标签
git push origin :remote-tagname

# 下载指定标签
git fetch tagname

# 下载所有标签
git fetch origin --tags

到了这里,关于git tag用法详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Git学习笔记:3 git tag命令

    git tag 是 Git 中用于管理和操作标签(tag)的命令。标签在Git中主要用于标记特定的提交,通常用来标识重要的版本发布点,如v1.0.0、v2.1.5等。 创建一个轻量标签(不包含额外信息): 创建一个带有注释的annotated标签(推荐使用,因为它可以存储更多元数据和PGP签名): 列出

    2024年01月25日
    浏览(41)
  • git tag详解

    通常我们在生产环境发版时,创建一个 tag ,这样一个不可修改的版本将被冻结起来,这对于发布或者版本管理非常有益。 在 Git 中,tag是 标记存储库 历史记录中特定提交的一种方式。tag通常用于标记项目的 特定版本 ,例如版本 1.0 或 2.0 。 tag可以用于指定在仓库历史记录

    2024年02月12日
    浏览(49)
  • idea中git打tag详解

    目录 1、什么是tag 2、idea 创建tag 3、推送远程分支 4、查看某个tag版本的代码,只需要切换版本即可: 5、对之前的代码提交版本打tag ​ 通常,发布一个版本时,会在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本。将来无论什么时候,取某个标签的版本

    2023年04月09日
    浏览(30)
  • UG NX二次开发(C++)-Tag的含义、Tag类型与其他的转换

    在UG NX中,每个对象对应一个tag号,C++中,其类型是tag_t,一般是5位或者6位的int数字,打开模型后,tag号是唯一的。采用UFun函数时,其很多的函数都是依赖于tag_t的,不管其是输入参数还是输出参数。本文介绍一下tag号的含义,以及其与其他类型的转换,比如int型、double型、

    2024年02月15日
    浏览(48)
  • git指令大全、用法详解

    git config : 用于设置用户身份信息,包括姓名和邮箱地址。在第一次使用Git或安装新的Git时使用,全局设置将在每次提交时使用这些信息。 用法: git config --global user.name \\\"Your name\\\" git config --global user.email \\\"Your email\\\" git version : 用于检查当前Git的版本号。 git version git init : 初始化

    2024年04月22日
    浏览(35)
  • git revert命令用法详解

            Git revert 命令用于撤销最近的提交,其中提交的内容是已经提交的,但是发现了一些错误或者需要回滚到之前的版本。并且返回代码到提交之前的状态。 下面是 Git revert 命令的一些用法: 1、撤销单个提交         其中 commit-hash 是要撤销的提交的唯一标识符。执

    2024年02月11日
    浏览(50)
  • pcie 的bdf 详细介绍,及用法实例、linux 查看pci设备信息命令详解

    PCIe是指PCI Express,是一种计算机总线标准。在PCIe中,每个连接到主板上的设备都有唯一的地址,被称为BDF。 BDF:Bus、Device、Function 的缩写。其中Bus是指PCIe总线编号(一个系统中可能存在多个PCIe总线),Device是指连接到该总线上的某个设备编号,Function是指同一个设备上不同

    2024年02月16日
    浏览(35)
  • git cherry-pick命令用法详解

            想在某个稳定版本上,添加一个刚开发完成的版本中的功能。就可以使用 Cherry-pick 命令,将这个功能相关的 commit 提取出来,合入稳定版本的分支上。         对于多分支的代码库,将代码从一个分支转移到另一个分支是常见需求。 通常开发时分两种情况:

    2024年01月25日
    浏览(45)
  • 誉天在线项目~ElementPlus Tag标签用法

    2024年02月09日
    浏览(36)
  • docker 查看registry私有仓库的镜像tag列表

    前提条件:已经正确部署docker和私有仓库registry。并且有私有仓库的登录用户名,密码。。需要查看某一个镜像的tag列表。 本文验证地址:【私有ip】为192.168.0.200  【images】为centos。私有仓库用户名:root,密码:password 提示:如果按照下面方式访问不成功,请注意检查,本机

    2023年04月09日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包