在默认情况下,git-reflog命令不会在每个条目旁边显示日期,这让我觉得是个奇怪的疏忽;我觉得这会很有帮助。

是否有任何命令行选项或其他调整,可用于使它显示添加每个reflog条目的时间?还没有到来……


当前回答

Git日志——walk-reflogs——date=iso

其他回答

使用ohmyzsh将git reflog输出格式化为glol:

git reflog --pretty='%Cred%h%Creset -%C(auto)%d%Creset %gs %Cgreen(%cr) %C(bold blue)<%an>%Creset'

使用ohmyzsh将git reflog输出格式化为gold:

git reflog --pretty='%Cred%h%Creset -%C(auto)%d%Creset %gs %Cgreen(%ad) %C(bold blue)<%an>%Creset'

我为ohmyzsh做了一个自定义插件git-mnz,有这两个别名grlol, grlod和其他一些别名和函数。

**抱歉,如果没有发送一个PR到git插件,但有数百个PR等待合并。

注意git 2.10(2016年Q3)使用git reflog改进了关于日期的文档。

参见Jeff King (peff)的commit 642833d, commit 1a2a1e8(2016年7月27日),和commit d38c7b2, commit 522259d, commit 83c9f95, commit 2b68222(2016年7月22日)。 帮助:Jeff King (peff)。 (由Junio C Hamano—gitster—在commit 0d32799中合并,2016年8月8日)

更新rev-list选项:

根据一些规则,输出中的reflog指示符可以显示为ref@{Nth}(其中Nth是reflog中的倒序索引)或ref@{timestamp}(带有该条目的时间戳)。

它包括: 更新了——date=raw:

显示从epoch (1970-01-01 00:00:00 UTC)开始的秒数,后面是一个空格,然后是时区,表示与UTC的偏移量(带四位数字的+或-;前两个是小时,后两个是分钟)。 也就是说,就好像时间戳是用strftime(“%s %z”)格式化的。 注意,-local选项不会影响seconds-since-epoch 值(总是用UTC度量),但是会切换相应的值 时区值。

还有一个新选项:——date=unix

将日期显示为Unix epoch时间戳(自1970年以来的秒数)。 与——raw一样,它总是在UTC中,因此-local没有作用。

你可以使用git log的——walk-reflogs变量:

git log -g

默认情况下,这是相当冗长的,并打印日期。您可以使用标准的——pretty=标志来格式化它。

您还可以直接使用reflog命令和——pretty=标志来格式化输出。

git reflog --pretty='%cd %h %gd %gs'

在上面的格式中,%cd将提交日期显示在正常reflog输出的左侧。

Git日志——walk-reflogs——date=iso

根据手册页,您可以使用git日志选项,例如,

git reflog --pretty=short

git reflog --date=iso