最有可能的是,您正在使用
less
作为寻呼机。它允许动态改变线折叠。只需输入 -S
,即 - Shift+S,然后,如果要求您按 Return,请执行此操作。这会在换行和截断行之间切换。
您可以将其添加到 git pager 变量以使其继续运行:
git config --global core.pager 'less -S'
作为扩展水平跨度的替代方法,您可以使用特定的 format 构造
%<(N,trunc)
来截断提交消息并适合您的屏幕。 (其中 N 是该列的字符数)
仅作为示例,请随意调整颜色和列宽以满足您的需求
git config --global alias.fl 'log --graph --pretty=format:"%C(green)%h %C(yellow)%<(16,trunc)%aN %C(red)%<(12,trunc)%ar %C(reset)%<(135,trunc)%s"'
git fl
有没有办法强制 git 不换行长行
是的,正如@Romain Valeri所提到的,格式规范可用于截断行。但是,如果宽度说明符与终端窗口的宽度不适当匹配,您仍然可能会换行。
如pretty-formats文档中所述,
%<|(
) 使下一个占位符至少持续到第 Mth 显示列,如有必要,在右侧填充空格。 对测量的柱位置使用负 M 值 从终端窗口的右侧边缘。
要有效关闭换行,请在格式规范中的最终占位符之前添加
%<|(-1,trunc)
。例如,命令
git log --format='%C(auto)%h %d %gd %s'
不会换行,但以下命令会。
git log --format='%C(auto)%h %d %gd %<|(-1,trunc)%s'