如果我们有git commit哈希:
42f35295744738750a665dc846400c8040659d03
有没有一种方法可以确定/计算创建日期,而无需提供更多信息?
答案 0 :(得分:1)
不完全是,不是。您可以轻松提取两个时间戳(作者-日期和提交者-日期)中的任何一个,但是两个时间戳都不一定与 actual 创建日期有关。例如:
$ GIT_AUTHOR_DATE='1970-1-1 00:00:00' GIT_COMMITTER_DATE='1970-1-1 00:00:00' git commit -m gotcha
[master (root-commit) 30e9626] gotcha
1 file changed, 1 insertion(+)
create mode 100644 foo
$ git log --pretty=fuller | sed 's/@/ /'
commit 30e9626dce78fd41c7ef6fae317e0ed61863f0cd
Author: Chris Torek <chris.torek gmail.com>
AuthorDate: Thu Jan 1 00:00:00 1970 -0800
Commit: Chris Torek <chris.torek gmail.com>
CommitDate: Thu Jan 1 00:00:00 1970 -0800
gotcha
但是,如果您不担心计算机时钟出现严重错误和/或用户故意伪造时间戳,请使用%at
或%ct
或其中的任何变体来提取作者或提交者的时间戳记:
$ git log --no-walk --format=%at HEAD
28800
$ git log --no-walk --format=%cd HEAD
Thu Jan 1 00:00:00 1970 -0800
有关详细信息,请参见the PRETTY FORMATS section of the git log
documentation。