在默认情况下,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)

其他回答

使用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输出格式化为gold:

git reflog --pretty='%Cred%h%Creset -%C(auto)%d%Creset %gs %Cgreen(%ad) %C(bold blue)<%an>%Creset'

我为ohmyzsh做了一个自定义插件git-mnz,有这两个别名grlol, grlod和其他一些别名和函数。

**抱歉,如果没有发送一个PR到git插件,但有数百个PR等待合并。

如果你只想查看相对于当前时间的日期,你可以使用下面的命令:

git reflog --date=relative

为了节省一些输入,你可以为它创建一个git别名(rl - reflog的缩写):

git config --global alias.rl "reflog --date=relative"

然后使用别名,就像这样(最后的-10表示最后10个动作):

git rl -10

Git reflog—pretty=medium

... 但是它们让人很讨厌发现(git-log选项没有bash补全,日志手册页没有记录各种漂亮的内置配置文件的占位符字符串,另外与默认的git-log格式仍然有一些不同,例如,你必须传递——abbrev)

告诉git用什么格式,是计数的reflog条目还是计时的reflog条目,即。

git reflog @{now}    
git reflog @{0}

您可以使用自定义格式:

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)