git-mktag
创建带有额外验证的标签对象。
概要
txt
'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) 套件的一部分
