git 等同于 "medium" 的漂亮格式是什么? (或者:为什么 %s 中没有 LF)

What is the git pretty format equivalent of "medium"? (OR: why no LF in %s)

我试图计算出默认 git log 行为的 git log --pretty=format:... 等价物。我可以发现默认值是 "medium",但无法找到对应的漂亮格式字符串(以便我可以复制其中的一部分)。

我真正的问题是为什么 %s 将提交消息作为一行给我,吞没了所有的换行符(但否则是完整的消息)。而默认的 git log 行为不仅保留了换行符,而且还给它一个漂亮的缩进。我正在试验的完整命令是:

git log --all --pretty=format:\"%h %cd%d%+s\" --name-status --date=local

%s%+s 与提交消息中的换行符相同)

(git 版本 1.9.1)

您可以使用换行格式 %w 通过将宽度设置为 0 来重新引入新行。

%w(width[,<indent1>[,<indent2>]])

此格式等同于medium

git log --pretty="format:%C(yellow)commit %H%n%C(white)Author: %an <%ae>%nDate:   %ad%n%n%w(0,4,4)%B%n"