在默认情况下,git-reflog命令不会在每个条目旁边显示日期,这让我觉得是个奇怪的疏忽;我觉得这会很有帮助。
是否有任何命令行选项或其他调整,可用于使它显示添加每个reflog条目的时间?还没有到来……
在默认情况下,git-reflog命令不会在每个条目旁边显示日期,这让我觉得是个奇怪的疏忽;我觉得这会很有帮助。
是否有任何命令行选项或其他调整,可用于使它显示添加每个reflog条目的时间?还没有到来……
当前回答
您可以使用自定义格式:
git reflog --format='%C(auto)%h %<|(20)%gd %C(blue)%cr%C(reset) %gs (%s)'
在上面的格式中,%h是提交散列,%cr是相对提交者日期,%gs是reflog主题,%s是提交主题。查看git-log文档,寻找其他可能的占位符。例如,使用%ci而不是%cr将显示绝对提交日期。
您可以将其保存在~/中。Gitconfig使用自定义的pretty格式,并通过别名引用它:
[alias]
rl = reflog --pretty=reflog
[pretty]
reflog = %C(auto)%h %<|(20)%gd %C(blue)%cr%C(reset) %gs (%s)
其他回答
您可以使用自定义格式:
git reflog --format='%C(auto)%h %<|(20)%gd %C(blue)%cr%C(reset) %gs (%s)'
在上面的格式中,%h是提交散列,%cr是相对提交者日期,%gs是reflog主题,%s是提交主题。查看git-log文档,寻找其他可能的占位符。例如,使用%ci而不是%cr将显示绝对提交日期。
您可以将其保存在~/中。Gitconfig使用自定义的pretty格式,并通过别名引用它:
[alias]
rl = reflog --pretty=reflog
[pretty]
reflog = %C(auto)%h %<|(20)%gd %C(blue)%cr%C(reset) %gs (%s)
告诉git用什么格式,是计数的reflog条目还是计时的reflog条目,即。
git reflog @{now}
git reflog @{0}
如果你只想查看相对于当前时间的日期,你可以使用下面的命令:
git reflog --date=relative
为了节省一些输入,你可以为它创建一个git别名(rl - reflog的缩写):
git config --global alias.rl "reflog --date=relative"
然后使用别名,就像这样(最后的-10表示最后10个动作):
git rl -10
注意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日志选项,例如,
git reflog --pretty=short
git reflog --date=iso