是否可以动态生成git log格式?

时间:2014-01-31 16:58:24

标签: git git-log

我想始终显示作者姓名和作者日期,但如果他们与作者姓名和日期不同,则可选择显示提交者姓名和提交者日期。

这主要是在变形后使用。作者信息保持不变,但提交者信息会发生变化。当且仅当它们不同时,除了作者信息之外,我还想显示提交者信息。

作者和提交者信息是相同的:

%C(yellow)%h%Creset %s %C(cyan)(%an - %ar)%Creset

不同:

%C(yellow)%h%Creset %s %C(cyan)(%an - %ar, %cn - %cr)%Creset

这可能吗?

1 个答案:

答案 0 :(得分:3)

格式参数中没有条件,也没有像这样有条件地扩展的格式字符串,所以:no。另一方面,您可以手动(在脚本中)从提交中提取信息,进行比较,然后选择要应用于该提交的格式,因此:是,如果您愿意在{I}之外执行此操作{1}}命令。

为了显示单个提交,后者似乎是合理的。为了查看整个日志,我怀疑它会非常痛苦。 :-)(仍然可以使用git log生成转速列表,然后每个git rev-list,一次一个,通过同一个寻呼机git log管道整个结果等等......但......痛苦。)