Git
英语 ▾ 主题 ▾ 最新版本 ▾ git-mktag 最后更新于 2.43.0

名称

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

概要

git mktag

描述

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

此命令与 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.<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] 套件的一部分

scroll-to-top