简体中文 ▾ 主题 ▾ 最新版本 ▾ git-mktag 最后更新于 2.43.0

名称

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

概要

git mktag

描述

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

此命令在很大程度上等同于使用 -t tag -w --stdin 调用 git-hash-object[1]。即,这两者都将创建并写入 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.<msg-id> 消息都从警告提升为错误(因此,例如,缺少“tagger”行是一个错误)。

对象中的额外标题在 mktag 下也是一个错误,但会被 git-fsck[1] 忽略。可以通过设置相应的 fsck.<msg-id> 变量来关闭此额外检查

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

选项

--strict

默认情况下,mktag 会启用 git-fsck[1] --strict 模式的等效项。使用 --no-strict 禁用它。

标签格式

要馈送给此命令的标准输入的标签签名文件具有非常简单的固定格式:四行

object <hash>
type <typename>
tag <tagname>
tagger <tagger>

后跟一些可选的自由格式消息(由旧 Git 创建的一些标签可能没有 tagger 行)。消息(如果存在)与标题之间用空行分隔。消息部分可能包含 Git 本身不关心的签名,但可以使用 gpg 进行验证。

GIT

Git[1] 套件的一部分