git 标签的 taggerdate 和 creatordate 有什么区别
What is the difference between taggerdate and creatordate for git tags
在 listing info for git tags 的文档中,有 taggerdate
和 creatordate
的字段。这两者有什么区别?哪个表示tag创建的时间(注解到对应的commit)?
一个标签对象有一个tagger
字段。 提交对象 有两个字段,committer
和 author
。当 ref 是一个标签时(例如 refs/tags/v1.2
),它通常会引用:
- 直接提交(这样这个标签就是*轻量级标签),或者
- 到一个标签对象,该标签对象又引用一个提交(因此这个标签是一个带注释的标签)。
标签可能直接或间接引用树或 blob,但这些不是这里有趣的情况。
使用 %(creatordate)
和 %(creator)
将从 committer 字段获取值,如果标签是轻量级标签,因此没有 tagger 字段,但如果标签是注释标签,将使用 tagger 字段。
使用 %(taggerdate)
仅抓取标记器日期字段。使用 %(tagger)
仅抓取标记器名称和电子邮件字段。如果标签是轻量级的,因此没有这样的字段,这些字段将展开为空(空字符串)。
Which one indicates the time when the tag was created (annotated to the corresponding commit)?
只有带注释的标签才有这样的数据;如果标记被注释,%(taggerdate)
和 %(creatordate)
都将获得它。如果标签没有注释,使用你想要的任何一个来获取提交者日期,或者什么都没有。
在 listing info for git tags 的文档中,有 taggerdate
和 creatordate
的字段。这两者有什么区别?哪个表示tag创建的时间(注解到对应的commit)?
一个标签对象有一个tagger
字段。 提交对象 有两个字段,committer
和 author
。当 ref 是一个标签时(例如 refs/tags/v1.2
),它通常会引用:
- 直接提交(这样这个标签就是*轻量级标签),或者
- 到一个标签对象,该标签对象又引用一个提交(因此这个标签是一个带注释的标签)。
标签可能直接或间接引用树或 blob,但这些不是这里有趣的情况。
使用 %(creatordate)
和 %(creator)
将从 committer 字段获取值,如果标签是轻量级标签,因此没有 tagger 字段,但如果标签是注释标签,将使用 tagger 字段。
使用 %(taggerdate)
仅抓取标记器日期字段。使用 %(tagger)
仅抓取标记器名称和电子邮件字段。如果标签是轻量级的,因此没有这样的字段,这些字段将展开为空(空字符串)。
Which one indicates the time when the tag was created (annotated to the corresponding commit)?
只有带注释的标签才有这样的数据;如果标记被注释,%(taggerdate)
和 %(creatordate)
都将获得它。如果标签没有注释,使用你想要的任何一个来获取提交者日期,或者什么都没有。