是否有任何命令行选项或其他调整可用来使它在添加每个reflog条目时显示?该手册页即将发布...
#1 楼
在手册页中,您可以使用git log
选项,例如git reflog --pretty=short
git reflog --date=iso
#2 楼
您可以使用--walk-reflogs
的git log
变体:git log -g
默认情况下这很冗长,并且会打印日期。您可以使用标准的
--pretty=
标志对其进行格式化。还可以将reflog命令与
--pretty=
标志一起直接用于格式化输出。git reflog --pretty='%cd %h %gd %gs'
在上面的格式中,
%cd
在正常reflog输出的左侧显示提交日期。评论
不幸的是,%cd显示了reflog指向的提交日期,这不是我(或OP)所追求的日期:我们想要reflog条目的日期。
–Thanatos
2014年4月21日在23:12
git log --walk-reflogs --date = iso刚刚完成了我的一天
–阿洛瓦·马哈德(Alois Mahdal)
16-09-13在17:41
git reflog --pretty ='%cd%h%gd%gs'是彩色的吗?
–警报
20/11/15在10:53
#3 楼
您可以使用自定义格式: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处在正确的状态”)。
– ErikE
15年7月21日在19:50
@ErikE-只需将cr更改为ci即可获取每个操作的完整时间戳:git reflog --format ='%C(auto)%h%<|(20)%gd%C(blue)%ci%C(重置)%gs(%s)'
– n1k31t4
19-10-9在8:50
而不是(20)%gd; (17)%gd似乎更好地对齐
–警报
20/11/15在11:06
#4 楼
以计数的git
条目或定时的reflog
条目的格式告诉reflog
,即$ git reflog @{now}
$ git reflog @{0}
评论
我内的程序员不喜欢{}中的“自然语言”日期,但是很高兴,该技术也可以与--date = iso一起使用。
–mwfearnley
19年2月1日在20:59
#5 楼
注意git 2.10(Q3 2016)改进了有关日期的文档git reflog
。请参阅commit 642833d,commit 1a2a1e8(2016年7月27日),commit d38c7b2,commit 522259d,commit 83c9f95,commit 2b68222(7月22日) 2016)(作者:Jeff King(
peff
)。帮助人:Jeff King(
peff
)(Junio C Hamano合并-gitster
-提交0d32799,2016年8月8日提交)rev-list
选项已更新:输出中的reflog指示符可能显示为
ref@{Nth}
(其中Nth
是reflog中的反向时间顺序索引)或ref@{timestamp}
(时间戳为该条目),具体取决于一些规则。它包括:
-关于
--date=raw
的更新:显示日期以自纪元(1970-01-01 00:00:00 UTC)的秒数为单位,后跟一个空格,然后是时区与UTC的偏移量(
+
或-
具有四位数字;前两位是小时,而第二两分钟)。即,好像时间放大器以
strftime("%s %z")
格式化)。 > 还有一个新选项:
-local
将日期显示为Unix时间戳(自1970年以来的秒数)。
与
seconds-since-epoch
一样,始终使用UTC,因此--date=unix
不起作用。#6 楼
git log --walk-reflogs --date=iso
评论
这将用日期替换头号(或任何正确的术语)。你们两个都可以吗?
–马可·埃克斯坦(Marco Eckstein)
2014年7月9日在10:23
@Marco看来您必须使用自定义格式:git reflog --format ='%C(auto)%h%<|(17)%gd%C(blue)%ci%C(reset)%s' 。我为此添加了一个别名:github.com/blueyed/dotfiles/commit/…
–蓝色
2014年11月23日12:13
@blueyed不太一样-reflog命令中的--date = iso显示了创建该reflog条目的时间,而不是提交时间。仍然感谢您的别名,因为我已使用它进行了更漂亮的刷新。
–约翰·汉肯斯(Johan Henkens)
19年7月31日在23:04
您可以将两者结合使用:git reflog --date = iso --pretty = short
– Herz3h
20 Sep 11 '20 at 12:55