代码之家  ›  专栏  ›  技术社区  ›  Dave

Git提交日期早于主存储库

  •  0
  • Dave  · 技术社区  · 6 年前

    有人能帮我把Git日期弄糊涂吗?我编写Python脚本从中提取有关存储库的信息 git日志 。在大型Linux存储库上测试期间( https://github.com/torvalds/linux )我使用 作者日期 --pretty=“%at”作为时间戳并在Python中转换为人类可读的字符串

    datetime.datetime.fromtimestamp( timestamp ).strftime( '%Y-%m-%d %H:%M:%S' )
    

    结果看起来不错,但从该回购协议的所有内容中生成了两个奇怪的日期:

    2001-09-17 09:00:00 aebda618718157a69c0dc0adb978d69bc2b8723c
    2001-09-17 09:00:00 dbe79bbe9dcb22cb3651c46f18943477141ca452
    

    https://api.github.com/repos/torvalds/linux 说,回购“创建于”:“2011-09-04T22:48:12Z”,我不知道这怎么可能?提交早于回购。

    仅在CMD中使用 git日志 我也检查了输出,得到了相同的结果。

    1 回复  |  直到 6 年前
        1
  •  0
  •   torek    6 年前

    Git提交中的时间戳由用户决定。

    这个 违约 是使用计算机的当前时钟设置,即。。。由用户决定。

    犯罪 aebda618718157a69c0dc0adb978d69bc2b8723c Linux存储库中有以下内容:

    commit aebda618718157a69c0dc0adb978d69bc2b8723c
    Author:     John Youn <John.Youn synopsys.com>
    AuthorDate: Mon Sep 17 00:00:00 2001 -0700
    Commit:     Felipe Balbi <balbi ti.com>
    CommitDate: Wed Jul 22 08:52:42 2015 -0500
    
        usb: dwc3: Reset the transfer resource index on SET_INTERFACE
    
        This fixes an issue introduced in commit b23c843992b6 (usb: dwc3:
        gadget: fix DEPSTARTCFG for non-EP0 EPs) that made sure we would
        only use DEPSTARTCFG once per SetConfig.
    [snip]
    

    正如你所见,这本书由约翰·尤恩(JohnYoun)撰写,菲利普·巴尔比(FelipeBalbi)执笔。可能约翰·尤恩的电脑当时的日期是错误的,而2015年的日期可能是正确的。我们不能确定;我们只知道存储的时间戳是什么,而不是为什么它是那个特定的值。

    请注意,提交 dbe79bbe9dcb22cb3651c46f18943477141ca452 还将约翰·尤恩列为其作者。他还有许多其他的提交,似乎都有正确的日期,所以很难确定,但也许他的电脑时钟在某个时候出了故障。