我知道可以用漂亮的方式截断git commit消息:
git log --oneline --format="%h %<(70,trunc)%s %cn"
但是这似乎填充了带有空格的短于70个字符的提交消息(因此%cn
总是被推到右边)。
如果提交消息短于70个字符,是否有办法停止提交空格填充?
答案 0 :(得分:4)
根据git-log manual,ltrunc
,mtrunc
和trunc
只是%<(<N>)
占位符的可选参数,其主要目的是执行填充:
%<(<N>[,trunc|ltrunc|mtrunc])
:使下一个占位符至少取N列,如果需要,在右侧填充空格。可选择在开头(ltrunc),中间(mtrunc)或如果输出长于N列,则结束(trunc)。请注意,截断仅适用于N&gt; = 2。
截至目前,git log
漂亮的格式似乎没有一个只能进行截断的选项。我认为这种情况伴随着&#34;漂亮的印刷&#34;通常用于表示输出易于人类阅读。
您可以通过一些后期处理来删除git log
漂亮打印输出中的额外空格,例如。使用sed
用一个替换两个或多个相邻的空格:
git log --oneline --format="%h %<(70,trunc)%s %cn" | sed -e "s/[ ]\{2,\}/ /g"