如何覆盖git log漂亮的格式?

时间:2017-03-21 15:26:39

标签: git git-log

可用的内置漂亮格式完全不符合我的需要(或我的口味):

https://git-scm.com/docs/pretty-formats

git log --decorate --graph --all --pretty=short几乎是我想要的,但我也希望显示提交日期...

git log --decorate --graph --all --pretty=medium很不错,但我不想要完整的提交消息。我只想显示提交消息的第一行......

所以我试着定义自己漂亮的格式,就像“媒体”一样。但没有完整的提交消息,如下所示:

git log --decorate --graph --all --pretty=format:'commit %H%nAuthor: %an%nDate: %ad%n%n%s%n'

一个问题是分支名称不再显示。另一个问题是原木不再是颜色了。我怎么能正确地做到这一点?

理想情况下,我只是想覆盖 --pretty=medium,以便它不会显示完整的提交消息,而只显示提交的标题(或覆盖 --pretty=short,以显示日期)。这是唯一可行的(覆盖内置的漂亮格式)?如果是,怎么样?

1 个答案:

答案 0 :(得分:3)

--decorate无法使用自己的格式。如果需要,您需要使用%d%D。如果你喜欢你也可以添加一些着色来获得类似的输出,就像中等你可能想要的东西:

git log --graph --all --pretty=format:'%C(auto,yellow)commit %H%C(auto,green bold)%d%Creset%nAuthor: %an%nDate: %ad%n%n%s%n'