截断提交消息
我知道有可能用这样的东西来裁剪漂亮的git commit消息:
git log --oneline --format="%h %<(70,trunc)%s %cn"
但是这似乎用空白填充了短于70个字符的提交消息(因此%cn
将始终向右推)。
如果提交信息的长度小于70个字符,是否有空格填充提交信息的方法?
根据git-log手册, ltrunc
, mtrunc
和trunc
只是%<(<N>)
占位符的可选参数,其主要目的是执行填充:
%<(<N>[,trunc|ltrunc|mtrunc])
: 使下一个占位符至少占N列,必要时在右侧填充空格。 如果输出长度超过N列,则可以选择在开头(ltrunc),中间(mtrunc)或结束(trunc)截断。 请注意,截断仅在N> = 2时正常工作。
截至目前, git log
漂亮格式似乎没有一个选择,只是截断。 我认为这种情况与“漂亮打印”一起使用,通常用于表示输出易于人类阅读。
你可以从git log
删除多余的空白,并且使用sed
来替换两个或更多的相邻空间。
git log --oneline --format="%h %<(70,trunc)%s %cn" | sed -e "s/[ ]{2,}/ /g"
链接地址: http://www.djcxy.com/p/80307.html