相关疑难解决方法(0)

格式化字符串以确保“git log --pretty”输出的条目之间保持一致的分隔

我正在尝试开发一种要传递的格式字符串,git log --pretty以便每个日志条目以完整的提交消息结尾,但每个日志条目都由一个空行分隔。问题在于,有些完整提交消息以换行符结尾,有些则不然。

例如,假设我有两个提交abc1234def5678,但仅abc1234在完整提交消息的末尾包含换行符。在命令行上输出原始提交内容将如下所示:

[prompt]$ git cat-file commit abc1234
(...)

Title FOO

Full commit message FOO
[prompt]$ git cat-file commit def5678
(...)

Title BAR

Full commit message BAR[prompt]$
Run Code Online (Sandbox Code Playgroud)

请注意新的 shell 提示符如何出现在最后一行输出的末尾,表明提交在完整提交消息的末尾def5678包含换行符。

假设这def5678是父级abc1234,我想输出一个简单的日志,其中每个条目仅包含短提交哈希、标题行和完整提交消息。我可能会尝试这样的事情:

[prompt]$ git log --graph --pretty='commit %h%n%B' abc1234
* commit abc1234
| Title FOO
| 
| Full commit message FOO
|
* commit def5678
| Title BAR
|
| Full commit message …
Run Code Online (Sandbox Code Playgroud)

git newline format-string git-log

5
推荐指数
1
解决办法
1473
查看次数

标签 统计

format-string ×1

git ×1

git-log ×1

newline ×1