Git
简体中文 ▾ Topics ▾ Latest version ▾ git-mktag last updated in 2.45.2

名称

git-mktag - 创建带有额外验证的标记对象

概述

git mktag

描述

读取标准输入中的标签内容并创建一个标签对象。输出是新标签的 <对象> 标识符。

这个命令主要等同于 git-hash-object[1]-t tag -w --stdin 一起调用。也就是说,这两个命令都会创建并写入一个在 my-tag 中找到的标签:

git mktag <my-tag
git hash-object -t tag -w --stdin <my-tag

不同的是,如果标签没有通过 git-fsck[1] 的检查,mktag 进程会在写入标签前结束。

mktag 的 "fsck" 检查比 git-fsck[1] 默认运行的更严格,因为所有的 fsck.<消息 ID> 信息都从警告提升为错误(所以例如,缺少 "tagger" 行就是一个错误)。

对象中的额外头文件在 mktag 下也是一个错误,但被 git-fsck[1] 忽略。这个额外的检查可以通过设置适当的 fsck.<消息 ID> 变量来关闭:

git -c fsck.extraHeaderEntry=ignore mktag <my-tag-with-headers

选项

--strict

默认情况下,mktag 打开了相当于 git-fsck[1]--strict 模式。使用 --no-strict 来禁用它。

标签格式

将被送入该命令的标准输入的标签签名文件有一个非常简单的固定格式:四行的

object <哈希值>
type <类型名>
tag <标签名>
tagger <标记>

后面是一些 ‘可选的’ 自由形式的信息(一些由旧版 Git 创建的标签可能没有 tagger 行)。 当信息存在时,会用一行空行与标头分开。 消息部分可能包含一个 Git 自己并不关心的签名,但可以用 gpg 验证。

GIT

属于 git[1] 文档

scroll-to-top