能否动态生成Git日志格式?

3
我希望始终显示作者姓名和日期,但仅在提交者姓名和日期与作者不同时才可选择性地显示提交者姓名和日期。
这主要用于在变基之后的情况。作者信息保持不变,但提交者信息会发生变化。仅当它们不同的时候,我想除了作者信息外还显示提交者信息。
作者和提交者信息相同:
%C(yellow)%h%Creset %s %C(cyan)(%an - %ar)%Creset

不同:

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

这是否可行?
1个回答

3
在格式参数中没有条件语句,也没有像那样扩展条件的格式字符串,所以不行。另一方面,您可以从提交中手动提取信息(在脚本中),进行比较,然后选择为该提交应用哪种格式,所以如果您愿意在git log命令之外执行此操作,那么就可以做到。
对于显示单个提交,后者似乎是合理的。对于查看整个日志,我怀疑这将非常痛苦。但仍然可以完成,使用git rev-list生成修订版本列表,然后逐个git log,并通过与git log相同的分页器传输整个结果等等。但是...痛苦。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接