2012-10-17 36 views
5

我正在浏览http://arago-project.org/git/projects/linux-omap3.git回购,并遇到一个奇怪的约会事项,基本上说,家长提交比其孩子年轻一岁。Git:父提交比后代年轻?

这怎么可能?

[email protected]:/f/linux-omap3$ git log -2 --parents 4b8db3b 
commit 4b8db3b368f5601717e3ffee0051628ba33172d3 3c0eee3fe6a3a1c745379547c7e7c904aa64f6d5 
Author: Kevin Hilman <[email protected]> 
Date: Fri Aug 20 11:19:52 2010 -0700 

    OMAP: bus-level PM: enable use of runtime PM API for suspend/resume 

    [...skipped...] 

    Cc: Rajendra Nayak <[email protected]> 
    Signed-off-by: Kevin Hilman <[email protected]> 

commit 3c0eee3fe6a3a1c745379547c7e7c904aa64f6d5 65f42886e24be2197b1263f138eabf40c6774d00 
Author: Linus Torvalds <[email protected]> 
Date: Tue Jan 4 16:50:19 2011 -0800 

    Linux 2.6.37 
+2

提交者可以放入他们想要的任何时间戳,不是吗?如果有人在时钟设置错误的情况下运行系统,那会发生。 – Thilo

+1

“重新发布”提交时间戳发生了什么变化?他们保留原始日期吗?那么这也可能发生。 – Thilo

+0

@Thilo我相信他们保持原来的时间戳。 – R0MANARMY

回答

5

正如在评论中提到:

你看到的可能的结果是什么:

+1

这种情况经常发生的另一种方式是樱桃挑选,它也保留时间戳。 –

2

接受的答案是方式更技术上有见地的,但我就补充这实际上是如何发生在我身上。我正在调试受本地计算机日期影响的问题,并且正在积极更改我的系统时钟以追踪此错误。解决之后,我承诺一切都不会意识到我的系统时钟仍然会在未来2个月内设置,因此我搞砸了我的git历史记录,因为我几天后才注意到,在Github中出现的提交失败(d'oh! )。这应该是fixable,虽然我还没有尝试过。

+0

是的,'filter-branch'是这种情况下的解决方案。 – VonC