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

通常,程式會從「主旨:」標頭行移除電子郵件雜訊,以提取提交日誌訊息的標題行。此選項可防止此類雜訊處理,並且在讀回 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

將訊息 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