簡體中文 ▾ 主題 ▾ 最新版本 ▾ 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

如果為 true,則預設情況下使 git-mailinfo[1](因此也使 git-am[1])的行為如同在命令列中提供了 --scissors 選項。啟用時,此功能會移除訊息正文中剪刀線(即主要由 ">8"、"8<" 和 "-" 組成)之前的所有內容。

GIT

Git[1] 套件的一部分

scroll-to-top