Answers:
在手册页中,您可以根据需要使用git log,say git reflog --pretty=short或其他任何选项
尝试
git reflog --date=iso
git reflog --format='%C(auto)%h %<|(17)%gd %C(blue)%ci%C(reset) %s'。我增加了一个别名是:github.com/blueyed/dotfiles/commit/...
--date=iso命令中的表示创建该reflog条目的时间,而不是提交时间。仍然感谢您的别名,因为我已使用它进行了更漂亮的刷新。
您可以使用以下--walk-reflogs变量git log:
git log -g
默认情况下,这很冗长,并且会打印日期。您可以使用标准--pretty=标志对其进行格式化。
您也可以直接将reflog命令与该--pretty=标志一起使用以格式化输出。
git reflog --pretty='%cd %h %gd %gs'
在以上格式中,%cd将提交日期显示在常规reflog输出的左侧。
%cd,不幸的是,它显示了reflog指向的提交日期,这不是我(或OP)之后的日期:我们想要reflog条目的日期。
git log --walk-reflogs --date=iso刚刚度过了我的一天
您必须使用自定义格式:
git reflog --format='%C(auto)%h %<|(20)%gd %C(blue)%cr%C(reset) %gs (%s)'
在上述格式中,%h是提交哈希,%cr是相对提交者日期,%gs是reflog主题,并且%s是提交主题。查看git-log文档中其他可能的占位符。例如,使用%ci代替代替%cr将显示绝对提交日期。
您可以使用自定义pretty格式将其保存在〜/ .gitconfig中,并通过别名引用它:
[alias]
rl = reflog --pretty=reflog
[pretty]
reflog = %C(auto)%h %<|(20)%gd %C(blue)%cr%C(reset) %gs (%s)
%gd它没有显示相同的日期@{now}。在搜索reflog时,知道准确的时间非常重要(例如,“我知道8:57处在正确的状态”)。
cr改为ci以获取每个操作的完整时间戳:git reflog --format='%C(auto)%h %<|(20)%gd %C(blue)%ci%C(reset) %gs (%s)'
告诉git计数reflog条目或计时reflog条目采用什么格式,即
$ git reflog @{now}
$ git reflog @{0}
{},但是很高兴这种技术也可以使用--date=iso。
注意git 2.10(Q3 2016)改进了有关date的文档git reflog。
请参阅Jeff King()提交642833d,提交1a2a1e8(2016年7月27日)和提交d38c7b2,提交522259d,提交83c9f95,提交2b68222(2016年7月22日)。
帮助:Jeff King()。(由Junio C Hamano合并--在commit 0d32799,2016年8月8日)peffpeff
gitster
根据一些规则,输出中的reflog指示符可能显示为
ref@{Nth}(其中Nthreflog中的时间倒序索引)或ref@{timestamp}(带有该条目的时间戳)。
它包括:-有关以下内容的更新--date=raw:
将日期显示为从纪元(1970-01-01 00:00:00 UTC)开始的秒数,后跟一个空格,然后将时区显示为相对UTC的偏移量(a
+或-四位数;前两个是小时,并且后两分钟)。
也就是说,好像时间戳记是用格式化的strftime("%s %z")。
请注意,该-local选项不会影响该seconds-since-epoch值(始终以UTC度量),但是会切换随附的时区值。
还有一个新的选择: --date=unix
将日期显示为Unix纪元时间戳(自1970年以来的秒数)。
与一样--raw,这始终是UTC,因此-local无效。