2015-03-13 70 views
1

我如何获得可以达到的所有内容的列表按日期排序?正常提交,存储,删除存储,删除分支提交 - 所有尚未被真空化的东西。获取按日期排序的所有提交列表(包括悬挂提交)

我这么问是因为我需要找到一个特定的提交(或藏匿),我不记得了,除了日期时,必须已经添加它。由于我从不运行git gc,我认为它应该仍然可用。

我还需要看到时间戳每一次提交,因为我会用它来缩小搜索范围,只承诺/储物箱是围绕我心目中的日期。

编辑:如果不明确,除了正常的搜索以外,我还需要搜索悬挂提交和放置窗格。像How can I make git log order based on author's timestamp?这样的问题不能解决这个问题。

+0

这里真正的问题是,'混帐fsck'是你会用它来寻找悬空犯了什么,但它并不按日期订购。你只会得到一个SHA(或几个)悬而未决的提交。 – Makoto 2015-03-13 15:54:45

+0

@Makoto Hm,如果我可以在日志中获取日期,我至少可以使用正则表达式来搜索它。我可以尝试环顾那个月。我宁愿按日期排序,但即使让他们无序也可以帮助开始。 – sashoalm 2015-03-13 15:58:19

回答

1

有一件事是简单的git refloggit reflog HEAD(这是等价的,第一个只是第二个简写)。

的引用日志跟踪每次提交一个特定的参考点; HEAD是指向你目前检查出的内容的参考,所以如果你曾经在这台机器上检查过这个提交,而且它还没有被gc'd,它应该显示在该列表中。

+0

感谢您的回答,但'git reflog'没有显示时间戳,但是,我需要这些来查找我的提交。我会在特定的日期周围寻找提交。 – sashoalm 2015-03-13 16:02:43

+1

@sashoalm你可以通过任何'git的log'的漂亮格式为'混帐reflog',所以你可以做'git的引用日志--pretty = fuller'或包含所需信息的一些自定义格式。在阅读你的澄清之后,我意识到这件事不会涉及的一件事就是丢弃玻璃瓶; stashes是从未提交过的东西,所以不会在HEAD的reflog中显示出来,事实上它们只是作为特殊的reflog存储的,所以当它们被删除时,它们将从特殊的reflog中移除。 – 2015-03-13 16:08:04

+0

立即卸下储物箱吗?我的意思是他们在某个地方举行或删除真正从git下降时? – sashoalm 2015-03-13 16:09:43