如何将“ git 日志”配置为显示“提交日期”

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

104478 次浏览

漂亮的印刷品的日期有几个选项。也许最简单的方法是只使用一种预先烘焙的 --pretty格式,如 git log --pretty=fuller-这将显示两个日期。如果只想看到一个日期,但是将其设为提交日期,则可以使用 git log --format=<some stuff>。所有用于定义格式的 git log --pretty=fuller0都在 git help log中记录。提交日期是 %cd%cD%cr%ct%ci之一,这取决于您希望它采用什么格式。

如果您希望经常执行此操作,请将其放在别名中,或者编写一个辅助脚本以节省输入时间。

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

例如:

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

你可以在 git 中定义一个别名,使它更容易使用:

[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 output

  • 看起来不错
  • lollog更容易输入,而且听起来也更好。
    • 如果你需要的话,还可以使用常规的 git log
  • 你的眼睛可以通过不同的颜色快速扫描内容。
  • 名称和电子邮件对于有许多贡献者的大型项目/组织非常有用。
  • 对 hash/ref 使用默认颜色,因为它已经很好了。

下面是带有 ISO 格式日期的 git lold的输出。查看提交的确切日期/时间非常有用,而且能够轻松查看提交者的时区。

enter image description here

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

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

git log --graph --pretty=format:"%C(yellow)%h%x09%Creset%C(cyan)%C(bold)%ad%Creset  %C(green)%Creset %s" --date=short

可能对某人有用。我在找 日期和时间邮票与 作者名称。

enter image description here

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