对齐图表旁边的列中的信息?

问题描述 投票:0回答:1
git log --graph --oneline --all

非常有用。如何将格式化日志对齐以在同一列中开始?

例如

git log --graph --oneline --all --format='%C(auto)%<|(15)%h %d %s'

让我非常接近,感谢

%<|( <M> )

使下一个占位符至少占据第 M 个显示列,如有必要,请在右侧填充空格。

但是一旦图表本身宽度超过 15 个字符,硬编码的

%<|(15)
将无法继续工作!

git
1个回答
0
投票

您需要对输出进行后处理,列对齐是一个两遍算法,这种漂亮的功能超出了

git log
的职权范围。

首先切入它(对于便携式脚本,请将

#!/bin/bash
放在前面):

git log --graph --oneline --all --color=always | sed 's,.*\x1b[m ,&\t' | column -ts$'\t'

它通过了我对我手头的几条历史记录的冒烟测试。

© www.soinside.com 2019 - 2024. All rights reserved.