如何配置 git 以显示日志图而不包装长提交消息

问题描述 投票:0回答:3

我的 git 图现在看起来像这样

这对我来说看起来非常糟糕和不愉快
有没有办法强制 git 不换行并使用水平滚动?

git
3个回答
5
投票

最有可能的是,您正在使用

less
作为寻呼机。它允许动态改变线折叠。只需输入
-S
,即 - Shift+S,然后,如果要求您按 Return,请执行此操作。这会在换行和截断行之间切换。

您可以将其添加到 git pager 变量以使其继续运行:

git config --global core.pager 'less -S'


1
投票

作为扩展水平跨度的替代方法,您可以使用特定的 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

1
投票

有没有办法强制 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'
© www.soinside.com 2019 - 2024. All rights reserved.