如何在 git 提交的 body 的每一行前添加一个字符
How to prepend a character to every line of the body of a git commit
我们的代码审查工具使用 Markdown 作为 CR 描述。我想自动化
通过从 git 提交中获取信息来编写这些描述
已审核。
假设我有一个 git 提交以下主题和 body:
This is the subject line
This is a long paragraph spanning multiple lines wrapped to 80
characters.
This is a second paragraph.
我想创建一个 git 日志格式化程序,它从
此提交:
`<commit short hash>` - This is the subject line
> This is a long paragraph spanning multiple lines wrapped to 80
> characters.
>
> This is a second paragraph.
我已尝试使用以下命令来生成此输出,但找不到
将 >
添加到 body
的每一行的方法
$ git log --format='`%h` - %s%n%n> %b%n' 'HEAD^..HEAD'
`e8aa4cf` - This is the subject line
> This is a long paragraph spanning multiple lines wrapped to 80
characters.
This is a second paragraph.
我尝试的另一个选择是使用 w(80,2,2)
来填充 body 但这是
每行也缺少 >
。
$ git log --format='`%h` - %s%n%n>%w(80,2,2)%b%n' 'HEAD^..HEAD'
`e8aa4cf` - This is the subject line
> This is a long paragraph spanning multiple lines wrapped to 80 characters.
This is a second paragraph.
可以使用 git log --format='X'
来完成吗?
看起来 git log --format
不允许更改正文。
作为替代方法 sed
可用于插入填充 >
,例如:
git log --pretty=format:'`%h` - %s%n%w(80,8,2)%b' | sed 's/^ /> /' | sed -z 's/\n\n>/\n>\n>/g'
我们的代码审查工具使用 Markdown 作为 CR 描述。我想自动化 通过从 git 提交中获取信息来编写这些描述 已审核。
假设我有一个 git 提交以下主题和 body:
This is the subject line
This is a long paragraph spanning multiple lines wrapped to 80
characters.
This is a second paragraph.
我想创建一个 git 日志格式化程序,它从 此提交:
`<commit short hash>` - This is the subject line
> This is a long paragraph spanning multiple lines wrapped to 80
> characters.
>
> This is a second paragraph.
我已尝试使用以下命令来生成此输出,但找不到
将 >
添加到 body
$ git log --format='`%h` - %s%n%n> %b%n' 'HEAD^..HEAD'
`e8aa4cf` - This is the subject line
> This is a long paragraph spanning multiple lines wrapped to 80
characters.
This is a second paragraph.
我尝试的另一个选择是使用 w(80,2,2)
来填充 body 但这是
每行也缺少 >
。
$ git log --format='`%h` - %s%n%n>%w(80,2,2)%b%n' 'HEAD^..HEAD'
`e8aa4cf` - This is the subject line
> This is a long paragraph spanning multiple lines wrapped to 80 characters.
This is a second paragraph.
可以使用 git log --format='X'
来完成吗?
看起来 git log --format
不允许更改正文。
作为替代方法 sed
可用于插入填充 >
,例如:
git log --pretty=format:'`%h` - %s%n%w(80,8,2)%b' | sed 's/^ /> /' | sed -z 's/\n\n>/\n>\n>/g'