截断提交消息

我知道有可能用这样的东西来裁剪漂亮的git commit消息:

git log --oneline --format="%h %<(70,trunc)%s %cn"

但是这似乎用空白填充了短于70个字符的提交消息(因此%cn将始终向右推)。

如果提交信息的长度小于70个字符,是否有空格填充提交信息的方法?


根据git-log手册, ltruncmtrunctrunc只是%<(<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

上一篇: Truncating commit messages

下一篇: mysterious rails error with almost no trace