Git
简体中文 ▾ Topics ▾ Latest version ▾ git-mailinfo last updated in 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: header 行中删除电子邮件的残余部分,以提取提交日志信息的标题行。 这个选项可以防止这种删除,在用于回读 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>

从电子邮件中提取的补丁。

配置

Warning

Missing zh_HANS-CN/includes/cmd-config-section-all.txt

See original version for this content.

Warning

Missing zh_HANS-CN/config/mailinfo.txt

See original version for this content.

GIT

属于 git[1] 文档

scroll-to-top