164

如何配置git log为显示commit date而不是author date

4

4 回答 4

182

有几个选项可以漂亮地打印日期。可能最简单的方法是使用其中一种预烘焙--pretty格式,例如git log --pretty=fuller- 这将显示两个日期。如果您只想查看一个日期,但将其设为提交日期,您可以使用git log --format=<some stuff>. 定义格式的所有允许代码git help log都记录在. 提交日期是%cd%cD、或中的一种%cr,具体取决于您喜欢的格式。%ct%ci

如果这是您想要经常做的事情,请将其放在别名中或编写辅助脚本以节省打字时间。

于 2013-01-09T18:59:00.960 回答
85

您可以使用--pretty=format和使用%cr提交日期相对。

例如:

$ git log --graph --pretty=format:'%C(auto)%h%d (%cr) %cn <%ce> %s'

您可以在 git 中定义一个别名以使其更易于使用。我有以下内容.gitconfig

[alias]
# see `git help log` for detailed help.
#   %h: abbreviated commit hash
#   %d: ref names, like the --decorate option of git-log(1)
#   %cn: commiter name
#   %ce: committer email
#   %cr: committer date, relative
#   %ci: committer date, ISO 8601-like format
#   %an: author name
#   %ae: author email
#   %ar: author date, relative
#   %ai: author date, ISO 8601-like format
#   %s: subject
# my awesome git log replacement
lol  = log --graph --pretty=format:\"%C(auto)%h%d%Creset %C(cyan)(%cr)%Creset %C(green)%cn <%ce>%Creset %s\"
# same as above, but ISO date
lold = log --graph --pretty=format:\"%C(auto)%h%d%Creset %C(cyan)(%ci)%Creset %C(green)%cn <%ce>%Creset %s\"
# using build-in standards
lol2 = log --oneline --graph --decorate
# shows branches and their last commits
lol3 = log --all --graph --decorate --oneline --simplify-by-decoration

在 Linux 或类似系统上,您可以使用单引号'而不是双引号"

[alias]
lol = log --graph --pretty=format:'%C(auto)%h%d%Creset %C(cyan)(%cr)%Creset %C(green)%cn <%ce>%Creset %s'

有了这个,只需运行git lol或其他变体即可查看漂亮的输出。

这是输出git lol --simplify-by-decoration

git 大声笑输出

  • 这看起来不错的样子。:)
  • lol比 更容易打字log,而且听起来也更好。
    • git log如果您需要,还可以让您访问常规。
  • 您的眼睛可以通过不同的颜色快速扫描内容。
  • 姓名和电子邮件对于有许多贡献者的大型项目/组织非常有用。
  • 对 hash/ref 使用默认着色,因为它已经很不错了。

这是git loldISO 格式的日期输出。有助于查看提交的确切日期/时间,并且能够轻松查看贡献者的时区。

在此处输入图像描述

编辑 2020-06:添加了屏幕截图。更新为对(提交哈希)和(参考名称)使用%C(auto)(自动/默认着色)。除了电子邮件之外,还添加了(提交者姓名)。%h%d%cn

于 2014-01-29T22:29:49.217 回答
15

我更喜欢这种格式,不包括作者姓名,包括实际提交日期。

git log --graph --pretty=format:"%C(yellow)%h%x09%Creset%C(cyan)%C(bold)%ad%Creset  %C(green)%Creset %s" --date=short
于 2020-01-04T16:49:07.833 回答
3

可能对某人有用。我正在寻找带有作者姓名的日期和时间戳。

在此处输入图像描述

git log --graph --pretty=format:"%C(yellow)%h%x09%Creset%C(cyan)%C(bold)%ad%Creset %C(yellow)%cn%Creset  %C(green)%Creset %s" --date=default
于 2021-03-10T08:27:55.027 回答