获取按日期排序的所有提交列表(包括悬空提交)

Get a list of all commits that is ordered by date (including dangling commits)

我怎样才能得到一个列表,其中包含按日期排序的绝对可以到达的所有内容?正常提交、隐藏、丢弃的隐藏、已删除分支的提交 - 尚未清理的所有内容。

我问是因为我需要找到一个特定的提交(或隐藏),除了必须添加它的日期外,我记不太清了。因为我从来没有 运行 git gc,所以我认为它应该仍然可以在某个地方使用。

我还需要查看每次提交的时间戳,因为我将不得不使用它来将搜索范围缩小到 commits/stashes 我想到的日期附近。

编辑: 如果不清楚,除了正常提交之外,我还要搜索悬空提交和丢弃的存储,这一点至关重要。 How can I make git log order based on author's timestamp? 之类的问题没有解决这个问题。

可以简单地尝试 git refloggit reflog HEAD(它们是等效的,第一个只是第二个的 shorthand)。

reflog 跟踪特定 ref 指向的每个提交; HEAD 是指向你当前签出的内容的引用,所以如果你曾经在这台机器上签出有问题的提交,并且它还没有被 gc'd,它应该出现在那个列表中。