git-mailinfo
从单封电子邮件中提取补丁和作者信息。
概要
'git mailinfo' [-k|-b] [-u | --encoding=<encoding> | -n]
[--[no-]scissors] [--quoted-cr=<action>]
<msg> <patch>描述
从标准输入读取单封电子邮件,将提交日志消息写入 <msg> 文件,将补丁写入 <patch> 文件。作者姓名、电子邮件和电子邮件主题输出到标准输出,供 'git am' 用于创建提交。通常不需要直接使用此命令。请参阅 git-am(1)。
选项
-k
:通常程序会从 Subject: 头行中删除电子邮件杂项以提取标题行作为提交日志消息。此选项防止这种修改,在用于读取 'git format-patch -k' 输出时最有用。 具体来说,以下内容将被删除直到不再存在:
- 前导和尾随空白。
- 前导
Re:、re:和:。 - 前导括号字符串(在
[和]之间,通常是[PATCH])。 最后,连续的空白被规范化为单个 ASCII 空格字符。
-b
:当 -k 不生效时,所有用 '[' 和 ']' 对括起来的前导字符串都会被剥离。此选项将剥离限制为仅括号字符串中包含 "PATCH" 一词的对。
-u
:提交日志消息、作者姓名和作者电子邮件从电子邮件中获取,在最小程度解码 MIME 传输编码后,通过音译重新编码为 i18n.commitEncoding 指定的字符集(默认为 UTF-8)。这曾经是可选的,但现在是默认行为。 请注意,即使使用此标志,补丁也始终按原样使用,不进行字符集转换。
--encoding=<encoding>
:类似于 -u。但在重新编码时,使用此处指定的字符集而不是 i18n.commitEncoding 或 UTF-8 指定的字符集。
-n
:禁用元数据的所有字符集重新编码。
-m, --message-id
在提交消息末尾复制 Message-ID 头。这对于将提交与邮件列表讨论关联很有用。
--scissors
:移除正文中标记行之前的所有内容(例如 "-- >8 --")。该行表示剪刀和穿孔标记,用于请求读者在该行处剪切消息。如果该行出现在消息正文中的补丁之前,使用此选项时该行之前的所有内容(包括剪刀行本身)都将被忽略。 如果您想在讨论线程中以对所回复消息的评论和建议开始您的消息,并以补丁提交结束,用剪刀行分隔讨论和提议的提交日志消息的开头,这很有用。 可以通过配置选项 mailinfo.scissors 默认启用。
--no-scissors
:忽略剪刀行。用于覆盖 mailinfo.scissors 设置。
--quoted-cr=<action>
:处理以 base64 或 quoted-printable 编码发送的电子邮件消息时,解码后的行以 CRLF 而不是简单的 LF 结尾时的操作。 有效操作为:
nowarn:当发现此类 CRLF 时 Git 不做任何事情。warn:如果发现此类 CRLF,Git 将为每条消息发出警告。strip:Git 将把这些 CRLF 转换为 LF。 默认操作可通过配置选项mailinfo.quotedCR设置。如果未设置此类配置选项,将使用warn。
<msg>
:从电子邮件中提取的提交日志消息,通常不包括来自电子邮件主题的标题行。
<patch>
:从电子邮件中提取的补丁。
配置
以下内容选自 git-config(1) 文档:
mailinfo.scissors
:如果为 true,使 git-mailinfo(1)(以及因此 git-am(1))默认行为如同在命令行上提供了 --scissors 选项。激活时,此功能会在剪刀行(即主要由 ">8"、"8<" 和 "-" 组成)之前移除消息正文中的所有内容。
Git
git(1) 套件的一部分
