默认情况下,git-reflog命令不会在每个条目旁边显示日期,这让我觉得是一个奇怪的疏忽;我想这会很有帮助。是否有任何命令行选项,或其他调整,可以用来使它显示每个reflog条目时被添加?manpage不会出现
7dl7o3gd1#
根据手册页,您可以使用git log选项,例如,
git log
git reflog --pretty=short git reflog --date=iso
ars1skjm2#
您可以使用git log的--walk-reflogs变体:
--walk-reflogs
git log -g
默认情况下,这是相当冗长的,并打印日期和其他内容。您可以使用标准的--pretty=标志来格式化它。您还可以直接使用reflog命令和--pretty=标志来格式化输出。
--pretty=
git reflog --pretty='%cd %h %gd %gs'
在上面的格式中,%cd在正常reflog输出的左侧显示提交日期。
%cd
monwx1rj3#
您可以使用自定义格式:
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中,并通过别名引用它:
%h
%cr
%gs
%s
%ci
pretty
[alias] rl = reflog --pretty=reflog [pretty] reflog = %C(auto)%h %<|(20)%gd %C(blue)%cr%C(reset) %gs (%s)
pu3pd22g4#
告诉git以什么格式,计数的reflog条目或定时的reflog条目,即
git
reflog
git reflog @{now} git reflog @{0}
5m1hhzi45#
如果您只想查看相对于当前时间的日期,可以使用以下命令:
git reflog --date=relative
为了保存一些输入,你可以为它创建一个git别名(rl-reflog的缩写):
rl
git config --global alias.rl "reflog --date=relative"
然后使用别名,如下所示(最后的-10显示最后10个操作):
-10
git rl -10
ukdjmx9f6#
注意git 2.10(Q3 2016)改进了关于git reflog日期的文档。参见commit 642833d、commit 1a2a1e8(2016年7月27日)和commit d38c7b2、commit 522259d、commit 83c9f95、commit 2b68222(2016年7月22日)by Jeff King ( peff )。求助人:Jeff King ( peff )。(由Junio C Hamano -- gitster --合并于commit 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选项不会影响seconds-since-epoch值(始终以UTC衡量),但会切换相应的时区值。还有一个新的选择:--date=unix以Unix纪元时间戳的形式显示日期(自1970年以来的秒)。与--raw一样,这始终是UTC,因此-local没有任何影响。
git reflog
peff
gitster
rev-list
ref@{Nth}
Nth
ref@{timestamp}
--date=raw
+
-
strftime("%s %z")
-local
seconds-since-epoch
--date=unix
--raw
unhi4e5o7#
使用ohmyzsh将git reflog输出格式化为glol:
glol
git reflog --pretty='%Cred%h%Creset -%C(auto)%d%Creset %gs %Cgreen(%cr) %C(bold blue)<%an>%Creset'
使用ohmyzsh将git reflog输出格式化为glod:
glod
git reflog --pretty='%Cred%h%Creset -%C(auto)%d%Creset %gs %Cgreen(%ad) %C(bold blue)<%an>%Creset'
我为ohmyzsh做了一个自定义插件git-mnz,有两个别名grlol,grlod和一些其他的别名和函数。
grlol
grlod
**很抱歉,如果没有发送PR到git插件,但有hundreds PR waiting to be merged ..
tpxzln5u8#
git reflog --pretty=medium...但是它们让人很难发现(git-log选项没有bash完成,log手册页没有记录各种漂亮的内置配置文件的占位符字符串,而且与默认的git-log仍然有一些差异,例如。你必须通过--abbrev)
git reflog --pretty=medium
log
git-log
--abbrev
ltskdhd19#
git log --walk-reflogs --date=iso
9条答案
按热度按时间7dl7o3gd1#
根据手册页,您可以使用
git log
选项,例如,ars1skjm2#
您可以使用
git log
的--walk-reflogs
变体:默认情况下,这是相当冗长的,并打印日期和其他内容。您可以使用标准的
--pretty=
标志来格式化它。您还可以直接使用reflog命令和
--pretty=
标志来格式化输出。在上面的格式中,
%cd
在正常reflog输出的左侧显示提交日期。monwx1rj3#
您可以使用自定义格式:
在上面的格式中,
%h
是提交散列,%cr
是相对提交者日期,%gs
是reflog主题,%s
是提交主题。查看git-log文档中其他可能的占位符。例如,使用%ci
而不是%cr
将显示绝对提交日期。您可以使用自定义的
pretty
将其保存在~/. gitconfig中,并通过别名引用它:pu3pd22g4#
告诉
git
以什么格式,计数的reflog
条目或定时的reflog
条目,即5m1hhzi45#
如果您只想查看相对于当前时间的日期,可以使用以下命令:
为了保存一些输入,你可以为它创建一个git别名(
rl
-reflog
的缩写):然后使用别名,如下所示(最后的
-10
显示最后10个操作):ukdjmx9f6#
注意git 2.10(Q3 2016)改进了关于
git reflog
日期的文档。参见commit 642833d、commit 1a2a1e8(2016年7月27日)和commit d38c7b2、commit 522259d、commit 83c9f95、commit 2b68222(2016年7月22日)by Jeff King (
peff
)。求助人:Jeff King (
peff
)。(由Junio C Hamano --
gitster
--合并于commit 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
选项不会影响seconds-since-epoch
值(始终以UTC衡量),但会切换相应的时区值。还有一个新的选择:
--date=unix
以Unix纪元时间戳的形式显示日期(自1970年以来的秒)。
与
--raw
一样,这始终是UTC,因此-local
没有任何影响。unhi4e5o7#
使用ohmyzsh将
git reflog
输出格式化为glol
:使用ohmyzsh将
git reflog
输出格式化为glod
:我为ohmyzsh做了一个自定义插件git-mnz,有两个别名
grlol
,grlod
和一些其他的别名和函数。**很抱歉,如果没有发送PR到git插件,但有hundreds PR waiting to be merged ..
tpxzln5u8#
git reflog --pretty=medium
...但是它们让人很难发现(git-log选项没有bash完成,
log
手册页没有记录各种漂亮的内置配置文件的占位符字符串,而且与默认的git-log
仍然有一些差异,例如。你必须通过--abbrev
)ltskdhd19#
git log --walk-reflogs --date=iso