git-reflog命令默认情况下不会显示每个条目的日期,这在我看来是一个奇怪的疏忽; 我认为这将非常有帮助。
是否有任何命令行选项或其他调整可以用来使其显示每个reflog条目添加的时间? 该manpage没有提供相关信息...
git-reflog命令默认情况下不会显示每个条目的日期,这在我看来是一个奇怪的疏忽; 我认为这将非常有帮助。
是否有任何命令行选项或其他调整可以用来使其显示每个reflog条目添加的时间? 该manpage没有提供相关信息...
根据 man 手册,您可以使用 git log
选项,例如:
git reflog --pretty=short
git reflog --date=iso
您可以使用--walk-reflogs
版本的git log
命令:
您可以使用--walk-reflogs
版本的git log
命令:
git log -g
默认情况下,此输出较为冗长,其中包含日期和其他信息。您可以使用标准的--pretty=
标志进行格式设置。
您还可以直接使用reflog命令,并使用--pretty=
标志来格式化输出。
git reflog --pretty='%cd %h %gd %gs'
在上面的格式中,%cd
显示提交日期在普通 reflog 输出的左侧。%cd
显示 reflog 所指向的提交日期,但这并不是我(或 OP)想要的:我们希望得到 reflog 条目的日期。 - Thanatosgit reflog --pretty='%cd %h %gd %gs'
可以显示颜色吗? - alper您可以使用自定义格式:
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处于正确状态”)。 - ErikEcr
更改为 ci
即可获取每个操作的完整时间戳:git reflog --format='%C(auto)%h %<|(20)%gd %C(blue)%ci%C(reset) %gs (%s)'
。 - n1k31t4(20)%gd
,(17)%gd
似乎更好的对齐。 - alperHEAD@{16}
? - alpergit reflog
即可获得该格式。 - Wenfang Dugit reflog
时按照排序格式进行排列,就像使用(--date=relative
)标志一样。 - alpergit
使用何种格式,计数形式的reflog
条目或按时间排序的reflog
条目。git reflog @{now}
git reflog @{0}
{}
中使用“自然语言”日期,但幸运的是,这种技术也适用于 --date=iso
。 - mwfearnleygit reflog
。
查看提交 642833d, 提交 1a2a1e8 (2016年7月27日), 以及提交 d38c7b2, 提交 522259d, 提交 83c9f95, 提交 2b68222 (2016年7月22日),作者是Jeff King (peff
)。
协助者:Jeff King (peff
)。
(由Junio C Hamano -- gitster
--在提交0d32799的时候合并,于2016年8月8日)
输出中的 reflog 设计器可能会显示为
ref@{Nth}
(其中Nth
是 reflog 中的反向时间索引)或者ref@{timestamp}
(带有该条目的时间戳),这取决于一些规则。
它包括:
- 关于 --date=raw
的更新:
+
或-
;前两个为小时,后两个为分钟)。即,就像时间戳用strftime("%s %z")
格式化一样。请注意,-local
选项不影响seconds-since-epoch
值(始终使用UTC测量),但确实切换了相应的时区值。
还有一个新选项:--date=unix
,它将日期显示为Unix纪元时间戳(自1970年以来的秒数)。与--raw
一样,这始终处于UTC中,因此-local
无效。使用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
输出格式化为glod
:
git reflog --pretty='%Cred%h%Creset -%C(auto)%d%Creset %gs %Cgreen(%ad) %C(bold blue)<%an>%Creset'
grlol
和grlod
,以及其他一些别名和函数。
git reflog --pretty=medium
...但是他们让查找变得非常麻烦(没有针对git-log选项的bash自动补全,log手册也没有记录各种预定义pretty格式字符串的占位符,而且与默认的git-log格式仍存在一些差异,例如你需要传递--abbrev参数)。
git log --walk-reflogs --date=iso
git log --walk-reflogs --date=iso
git reflog --format='%C(auto)%h %<|(17)%gd %C(blue)%ci%C(reset) %s'
。我已为此添加了一个别名:https://github.com/blueyed/dotfiles/commit/5c4e4be9fc6a56d1ccbc16398ac3fef007d5cc47 - blueyedgit reflog --date=iso --pretty=short
- Herz3hgit reflog --date=iso
正是我在寻找的,一行代码加上日期信息。 - Vadorequest