如何从最后一天快速抓取git reflog?

时间:2017-09-05 22:42:16

标签: git

我知道某种格式看起来像master@{"1 day ago"},但我无法弄清楚如何使用某些内容(以友好的方式)过滤git reflog的输出只是最后X个时间。

我试过了git reflog --since="2 days ago",但它肯定没有给我我期望的结果(因为它产生的3个结果都与我当前的分支相关,而{{1}中的前36个条目来自今天)。

主要是我只需要一份从今天开始创建的所有(可能是孤立的)提交的列表。因为有些狗屎掉了下来,我需要查看所有未能用分支指针标记的提交,因为我可能会或者可能没有重新设置错误的东西。

与此同时,我想出的唯一方法是使用手动工作流程:

git reflog

这会生成一个单行空间分隔的提交哈希集,其中应该包含我今天所提交的所有提交,并且我通过反复试验发现,如果我只是将它传递给我的幻想git reflog --date=relative | head -n 36 | cut -d' ' -f 1 | uniq | tr '\n' ' ' 别名它将它们有助于将它们注入它们所属的图形中,并且我可以通过这种方式重新获得一些理智。

与我发现的任何合理可回收的git相关功能一样,我喜欢尝试在脚本或至少一些StackOverflow面包屑中进行概括,以便下次发生这种情况时我可以更好地学习如何快速完成。

一个方便的别名,让我运行我的典型git log --graph,但添加了查看该图中的所有孤立提交将是惊人的。但是我绝对想限制它,只是在最后一天向我展示这样的提交。

1 个答案:

答案 0 :(得分:1)

我确认,在我在“commit 3ab01ac”中提到的How to properly use git reflog --since=…?之后重新编译Git后,reflog确实按预期工作:

{{1}}

它是upcoming 2.14.2 release的一部分,应该很快就会出来。