Git
English ▾ 主题 ▾ 最新版本 ▾ git-mailinfo 最后更新于 2.43.0

名称

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

如果为真,则使git-mailinfo[1](以及git-am[1])默认情况下表现得好像在命令行上提供了 --scissors 选项一样。启用后,此功能将删除邮件正文中剪刀线(即主要由“>8”、“8<”和“-”组成)之前的全部内容。

Git

git[1]套件的一部分

scroll-to-top