在Git中,您可以从回购中提取某个提交时检索日期吗?

时间:2014-05-05 18:02:56

标签: git github

我重新打开了一个错误,但当被要求确认时(“这是在提交XYZ中解决的”),它就消失了。我不记得在提交错误之后做了一个拉取请求(但是又一次,我很忙......),所以我的一部分想知道它是否是一个间歇性的或依​​赖于配置的错误。

有没有办法让我看到我拉的时间记录(换句话说,提交日期,但我获得的日期更改)?< / p>

1 个答案:

答案 0 :(得分:3)

当您执行git pull(或git merge之后的git fetch)时,会更新分支的reflog。

reflog包含reflog更新的日期,主要是因为reflog条目可以在3个月后过期, 1 但是可以显示该日期。这将是你想要的。

git reflog 有办法显示此日期。但是,git log -g 使用 reflog来显示提交,并显示与这些提交相对应的reflog条目。默认情况下,此显示为master@{1},但如果您使用@{now}启动,则git log会以日期格式显示reflog条目:

$ git log -g master@{now}
commit 779792a5f24bb4e8049c4f88ad752e70d4a8a080
Reflog: master@{Tue Apr 22 13:34:07 2014 -0600} (me...)
Reflog message: merge origin/master: Fast-forward
Author: Junio C Hamano <gitster@pobox.com>
Date:   Mon Apr 21 11:54:29 2014 -0700

这是我最后一次git merge之后{g}本身来源git fetch。这是一个较早的pull例子,当时我对git 1.9-rc0更加懒惰:

commit 79fcbf7e703ca5805ebd46b2c7e09d0703f1c1ff
Reflog: master@{Sat Jan 18 23:32:22 2014 -0700} (me...)
Reflog message: pull: Fast-forward
Author: Junio C Hamano <gitster@pobox.com>
Date:   Fri Jan 17 12:30:14 2014 -0800

1 默认情况下为90天,无论如何都是可达参考;默认情况下,30天为reflog条目,其中标识的提交可从当前branch-tip访问;两者都是可调的。


编辑以添加注释:您还可以查看远程的reflog(例如git log -g origin/master@{now})以查看更改fetch的时间。如果您正在使用git pull,它会在获取完成时立即进行合并,这些将显示相同的时间段,但值得注意的是远程reflog在fetch处更新-时间。 (这是另一个已被删除的答案。)