【问题标题】:What is the difference between taggerdate and creatordate for git tagsgit标签的taggerdate和creatordate有什么区别
【发布时间】:2021-04-22 02:57:56
【问题描述】:

listing info for git tags 的文档中,有taggerdatecreatordate 的字段。这两者有什么区别?哪一个表示创建标签的时间(注解到对应的commit)?

【问题讨论】:

    标签: git tags


    【解决方案1】:

    标签对象有一个tagger 字段。 提交对象 有两个字段,committerauthor。当 ref 是一个标签时(例如refs/tags/v1.2),它通常会引用:

    • 直接提交(这样这个标签就是*轻量级标签),或者
    • 指向一个标签对象,该对象又引用一个提交(因此这个标签是一个带注释的标签)。

    标签可以直接或间接引用树或blob,但这些不是这里有趣的情况。

    如果标签是轻量级标签并因此没有 tagger 字段,则使用 %(creatordate)%(creator) 将从 committer 字段中获取值,但将使用tagger 字段,如果标签是带注释的标签。

    使用%(taggerdate) 仅获取标记器日期字段。使用%(tagger) 仅获取标记器名称和电子邮件字段。如果标签是轻量级的,因此没有此类字段,则这些字段将扩展为空(空字符串)。

    哪一项表示创建标签的时间(注解到对应的commit)?

    只有带注释的标签才有这样的数据;如果标签被注释,%(taggerdate)%(creatordate) 都会得到它。如果标签没有注释,使用你想要的任何一个来获取提交者日期,或者什么都没有。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-13
      • 2013-11-06
      • 2023-02-09
      • 2021-12-22
      • 2023-03-13
      • 2010-12-28
      • 2012-08-15
      • 2012-12-27
      相关资源
      最近更新 更多