【发布时间】:2021-04-22 02:57:56
【问题描述】:
在listing info for git tags 的文档中,有taggerdate 和creatordate 的字段。这两者有什么区别?哪一个表示创建标签的时间(注解到对应的commit)?
【问题讨论】:
在listing info for git tags 的文档中,有taggerdate 和creatordate 的字段。这两者有什么区别?哪一个表示创建标签的时间(注解到对应的commit)?
【问题讨论】:
标签对象有一个tagger 字段。 提交对象 有两个字段,committer 和 author。当 ref 是一个标签时(例如refs/tags/v1.2),它通常会引用:
标签可以直接或间接引用树或blob,但这些不是这里有趣的情况。
如果标签是轻量级标签并因此没有 tagger 字段,则使用 %(creatordate) 和 %(creator) 将从 committer 字段中获取值,但将使用tagger 字段,如果标签是带注释的标签。
使用%(taggerdate) 仅获取标记器日期字段。使用%(tagger) 仅获取标记器名称和电子邮件字段。如果标签是轻量级的,因此没有此类字段,则这些字段将扩展为空(空字符串)。
哪一项表示创建标签的时间(注解到对应的commit)?
只有带注释的标签才有这样的数据;如果标签被注释,%(taggerdate) 和%(creatordate) 都会得到它。如果标签没有注释,使用你想要的任何一个来获取提交者日期,或者什么都没有。
【讨论】: