Rob*_*ert 52
或者您可以更改您的寻呼机使用 less -R
$ git config --global core.pager 'less -R'
Run Code Online (Sandbox Code Playgroud)
这样可以减少停止尝试控制屏幕格式的方式(通常可以在git log
使用箭头键的过程中左右滚动).正如较少的手册所说"因此,可能会导致各种显示问题,例如长线在错误的位置被分开." 你想要的是什么,你希望行结尾出现在你的屏幕右边(错误的地方)而不是评论作者所说的位置.
另外需要注意的是,在不修改寻呼机的情况下按右箭头键可以让您看到更多代码.这是我的首选方法.
Von*_*onC 34
编辑2011:其他 答案(upvoted)突出显示修改选项less的可能性,即git使用的默认寻呼机.
我的答案结尾处的评论仍然存在:即使您可以看到长提交消息,这并不意味着必须处理所述(长)消息的其他工具将能够处理它们.
关于提交消息格式策略的原始答案(2010年1月):
根据这篇博客,由于git log没有进行任何类型的包装,您需要使用适当的行长度来设置注释的格式
git log
不会对提交消息进行任何特殊的特殊包装.
使用默认的寻呼机less -S
,这意味着您的段落远离屏幕边缘,使其难以阅读.
在80列终端上,如果我们在左侧减去4列用于缩进,而在右侧减去4列用于对称,我们剩下72列.git format-patch --stdout
使用消息正文的消息将一系列提交转换为一系列电子邮件.
良好的电子邮件礼节规定我们包装我们的纯文本电子邮件,以便在80列终端中有几个级别的嵌套回复指示符没有溢出的空间.
正如在这里说:
通常,使用编辑器创建提交消息,而不是在命令行上传递它们.格式应为:
- 72个字符的硬包装
- 提交的单个简短摘要
- 后跟一个空白行
- 其次是支持细节
所有来源(包括GitPro书,这也适用于50个字符的第一线,为约尔格W¯¯米塔格评论)坚持有必要换自己的评论,肯定是因为,即使Git的是能够处理排长队,在其他工具处理链(电子邮件,补丁,......)可能不会.
Car*_*arl 19
似乎没有任何完美的方式.我使用的解决方法只是将输出传递给more
(或less
,或cat
等):
git log | more
Run Code Online (Sandbox Code Playgroud)
这包括至少在我的系统上的长行(但是,你错过了颜色格式).
wal*_*ldo 17
在前面的答案中提到的是默认的寻呼机(通常是"较少")负责包装,默认情况下它通常会切断长线.
要修改它而不更改提交消息(less和bash示例):
$ echo $LESS
-FRSX
Run Code Online (Sandbox Code Playgroud)
这是我默认拥有的,现在覆盖LESS环境变量.
echo "LESS=-FRX;export LESS" >> ~/.bash_profile
source ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)
Mat*_*aun 14
请注意,较少的-r(如上所述)导致较少忘记其行数并且您错过了提交,因为您的最顶部的行将滚动出视线!真正的修复是禁用-S选项,如果未设置LESS环境变量,则默认启用git.
一个很好的解决方法是通过以下方式更改您的git配置:
git config --global core.pager 'less -+S'
ale*_*xei 12
至少在git版本1.7.9.5中,git log
确实支持换行.从git帮助日志:
PRETTY FORMATS
%w([<w>[,<i1>[,<i2>]]]): switch line wrapping
Run Code Online (Sandbox Code Playgroud)
因此,例如,以下内容包含72列的长主题:
alias gl='git log --format="%C(yellow)%h %an %ad%C(reset)%n%w(72,1,2)%s"'
Run Code Online (Sandbox Code Playgroud)
(同意应遵循提交格式约定而不是依赖于此.但是,在每个人都知道并尊重约定的那一天,这可能会有用.)