git log --graph 表格格式

Posted

技术标签:

【中文标题】git log --graph 表格格式【英文标题】:git log --graph tabular format 【发布时间】:2020-05-26 16:21:15 【问题描述】:

我正在尝试制作git log 表格的输出。在阅读了不同的帖子和git log 手册页后,我得到了这个版本:

git log --graph --pretty=format:'%<(10,trunc)%Cred%h%Creset -%C(yellow)%<(20,trunc)%d%Creset %<(50,trunc)%s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit

这还不错,但仍然有两个问题。

首先,我不能强制缩进图表本身。我可以缩进的第一个字段是哈希 (%h)。如何缩进图本身的最大空间?

第二,如果我尝试通过写入%&lt;(15)(%cr) 来缩进相对时间字段(%cr),我会缩进文本,但缩进字段中不包含右括号。见下图。如何缩进包括括号在内的整个文本?

【问题讨论】:

如何将其传送到文本编辑器(如 sed)以根据需要对其进行格式化?您的请求看起来很具体。 【参考方案1】:

我找到了第一点的答案:

我不得不将%&lt;(10, trunc)%Cred%h 替换为%&gt;|(15,trunc)%Cred%h

来自git-log manual page:

%&gt;(&lt;N&gt;)%&gt;|(&lt;N&gt;):分别类似于%&lt;(&lt;N&gt;)%&lt;|(&lt;N&gt;),但在左侧填充空格

对于第二点,我找到了解决方法。我不得不将列数调整为预期的输出长度。这适用于我的情况,但它不是通用的。

这解决了问题:

【讨论】:

以上是关于git log --graph 表格格式的主要内容,如果未能解决你的问题,请参考以下文章

“git log --graph”或“hg graphlog”如何工作?

Git log修改时间格式

如何使用 git log --graph 显示标签名称和分支名称

git log --oneline --graph的读法

git log 附加命令归纳

解决Git Log在IDEA中乱码的问题