Git 日志问题:使用 oneline 选项时不显示日期

Git Log issue: date is not showing when oneline option in used

我在 Pretty git branch graphs 中看到很多很好的答案,这些答案显示 git log 的单行选项正在 与日期 一起使用。但是,当我 运行 这些命令时,我的输出不同,我看不到日期。选项 --oneline--date=<relative or iso> 似乎不兼容。

git log --date=iso的结果:

git log --date=iso --oneline的结果:

我在三台不同的计算机上试过,结果相似。

更新:

链接的问题询问“如何提交日期”。也许他们的意思是“如何显示提交日期”,但就目前而言,问题尚不清楚。此外,在可能的重复中,OP 同时询问了几个选项。我特别询问在使用 oneline 选项时如何显示或打印日期(作者日期或提交日期)。另一个OP也关心提交历史的大小,这也不在我的问题范围内。

也许可以编辑另一个问题来匹配这个问题,但是当我搜索这个问题时它没有出现(虽然我没有专门使用 git-log 标签,因为我没有'直到我为我的问题搜索合适的标签时才注意到该标签。

此外,我知道没有其他有效的方法可以在不使用屏幕截图的情况下显示打印格式的结果,尤其是因为它们有颜色。对于它的价值,链接的问题也使用了屏幕截图。

您确实不能同时使用这两个选项。但是,您可以通过显式声明格式来模拟此行为:

$ git log --format='%h (%ai) %s'

应在format中添加日期。

例如:

git log --pretty=format:"%h %s %an %ad" --date=relative

其中 %ad 表示 "author date" 使用 --date 选项值

git log --pretty=format:'%C(auto)%h%d %s %aN %ad'

具有相同的格式(颜色和信息)加上在末尾添加作者姓名和日期 (%aN %ad) 未格式化(您可以将它们移动到任何您喜欢的地方)。我花了一个多小时试图弄清楚如何让 %d(分支、标签等引用)根据远程、本地、类型等以不同的颜色显示,但它只需要 %C(auto)在这一切之前复制 --oneline 使用的格式。由于作者和日期不在 --oneline 中,它们只是您终端的正常文本颜色。您可以添加任何您想要的分隔符和颜色。有关您可以使用的所有格式的参考,请参阅 https://www.git-scm.com/docs/git-log#_pretty_formats

您可以添加--date=xxx来指定日期格式。

又一个答案。这将以“YYYY-MM-DD”格式添加日期,蓝色,在提交哈希和描述之间:

alias gl="git log --pretty=format:'%C(auto)%h %C(blue) %<|(20) %as %C(auto) %d %s'"
gl

我添加了 %<|(20) 指示下一个格式运算符 (%as) 对齐到 20 个字符宽度。对于这个例子你不需要这个,因为 %as 无论如何都有一个固定宽度。但是您可以使用 %ar%ad%aD 等替代方法。检查 man git-log 并搜索 PRETTY FORMATS 以获取更多信息。