【发布时间】:2017-07-17 20:30:09
【问题描述】:
我有一个存储库,其中一个常规的git reflog --date=iso 显示了很多条目,例如查看这个片段https://gist.github.com/FreddieChopin/0206c9ef530a056c624b065eed048c9d
您可能会注意到,2 月 19 日、22 日、23 日、24 日、25 日和 26 日会有 reflog。
但是,如果我想将输出限制在某些日期,这将无法按预期工作。例如git reflog --date=iso --since="2017-02-20" 只给出了这个https://gist.github.com/FreddieChopin/fb7619dee8fde055a1cce6f6ff2f6eb6 - 它在“52896f49 HEAD@{2017-02-24 20:53:29 +0100}”处停止,即使在此之前的 2 月 20 日有 reflogs。甚至还有 24 日的 reflogs 时间更短,所以我不知道为什么它会停在那里。
我检查过的另一个存储库也有同样的问题,所以这似乎与 reflog 本身有关,而不是特定的存储库。另一个 repo 的问题更奇怪,例如 git reflog --since="50.weeks" 给出了我过去几天 days 的提交,而 git reflog --since="60.weeks" 开始更早地回到过去 - 在那个 repo 中也有几年前的定期提交。
另一方面,git log --since=... 的工作方式完全符合预期,所以我不确定这里有什么问题...
【问题讨论】:
-
确实,看起来像
git reflog中的一个错误(我能够在我的一个存储库中重现类似的东西)。 -
git reflog实际上只是伪装的git log --walk-reflogs(至少在这种情况下),--walk-reflogs不能与许多其他git log选项配合得很好。 -
@torek - 仅作记录 - 当我直接使用
git log -g/git log --walk-reflogs时观察到相同的行为。 -
对,我的意思是错误实际上在
git log中。它至少应该注意到--since在这里不起作用。
标签: git git-reflog