設定和配置
獲取和建立專案
基本快照
分支與合併
共享和更新專案
檢查和比較
打補丁
除錯
電子郵件
外部系統
伺服器管理
指南
管理
底層命令
- 2.43.2 → 2.50.1 無更改
-
2.43.1
2024-02-09
-
2.43.0
2023-11-20
- 2.38.1 → 2.42.4 無更改
-
2.38.0
2022-10-02
- 2.29.1 → 2.37.7 無更改
-
2.29.0
2020-10-19
- 2.20.1 → 2.28.1 無更改
-
2.20.0
2018-12-09
- 2.19.1 → 2.19.6 無更改
-
2.19.0
2018-09-10
- 2.18.1 → 2.18.5 無更改
-
2.18.0
2018-06-21
- 2.4.12 → 2.17.6 無更改
-
2.3.10
2015-09-28
-
2.2.3
2015-09-04
- 2.1.4 無更改
-
2.0.5
2014-12-17
描述
此命令將使用 git format-patch 生成的郵件箱上傳到 IMAP 草稿資料夾。這允許在使用無法直接讀取郵件箱檔案的郵件客戶端時,像傳送其他電子郵件一樣傳送補丁。該命令也適用於任何電子郵件欄位按“From”、“Date”和“Subject”順序排列的通用郵件箱。
典型用法如下:
git format-patch --signoff --stdout --attach origin | git imap-send
配置
要使用此工具,必須將 imap.folder
和 imap.tunnel
或 imap.host
設定為適當的值。
本節中此行以上的所有內容均未包含在 git-config[1] 文件中。以下內容與該文件中的內容相同
- imap.folder
-
郵件的存放資料夾,通常是草稿資料夾。例如:"INBOX.Drafts"、"INBOX/Drafts" 或 "[Gmail]/Drafts"。必填。
- imap.tunnel
-
用於設定到 IMAP 伺服器隧道的命令,透過該隧道將管道傳輸命令,而不是使用直接網路連線到伺服器。當未設定 imap.host 時,此項為必填。
- imap.host
-
標識伺服器的 URL。對於非安全連線,使用
imap://
字首;對於安全連線,使用imaps://
字首。當設定了 imap.tunnel 時,此項被忽略,否則為必填。 - imap.user
-
登入伺服器時使用的使用者名稱。
- imap.pass
-
登入伺服器時使用的密碼。
- imap.port
-
連線到伺服器的整數埠號。對於 imap:// 主機預設為 143,對於 imaps:// 主機預設為 993。當設定了 imap.tunnel 時,此項被忽略。
- imap.sslverify
-
一個布林值,用於啟用/停用 SSL/TLS 連線使用的伺服器證書驗證。預設為
true
。當設定了 imap.tunnel 時,此項被忽略。 - imap.preformattedHTML
-
一個布林值,用於啟用/停用傳送補丁時使用 HTML 編碼。HTML 編碼的補丁將用 <pre> 括起來,並具有 text/html 的內容型別。具有諷刺意味的是,啟用此選項會導致 Thunderbird 將補丁作為純文字、固定格式的電子郵件傳送。預設為
false
。 - imap.authMethod
-
指定與 IMAP 伺服器進行身份驗證的方法。如果 Git 是在沒有 NO_CURL 選項的情況下構建的,或者您的 curl 版本早於 7.34.0,或者您正在使用
--no-curl
選項執行 git-imap-send,則唯一支援的方法是 CRAM-MD5。如果未設定此項,則 git imap-send 將使用基本的 IMAP 明文 LOGIN 命令。
示例
使用隧道模式
[imap] folder = "INBOX.Drafts" tunnel = "ssh -q -C user@example.com /usr/bin/imapd ./Maildir 2> /dev/null"
使用直接模式
[imap] folder = "INBOX.Drafts" host = imap://imap.example.com user = bob pass = p4ssw0rd
使用帶 SSL 的直接模式
[imap] folder = "INBOX.Drafts" host = imaps://imap.example.com user = bob pass = p4ssw0rd port = 123 ; sslVerify = false
注意
|
在排除故障時,您可能希望使用 sslVerify=false ,如果您懷疑連線問題的原因是您在嘗試設定(或已設定)的私有伺服器 example.com 上使用的證書可能未正確驗證。 |
使用 Gmail 的 IMAP 介面
[imap] folder = "[Gmail]/Drafts" host = imaps://imap.gmail.com user = user@gmail.com port = 993
注意
|
如果您收到“資料夾不存在”的錯誤,您可能需要改用:folder = " [Google Mail ]/Drafts" 。 |
注意
|
如果您的 Gmail 帳戶設定為非英語語言,“草稿”資料夾的名稱將被本地化。 |
提交準備就緒後,執行以下命令:
$ git format-patch --cover-letter -M --stdout origin/master | git imap-send
請確保在郵件客戶端中停用自動換行(Gmail 的網頁介面無論如何都會自動換行,因此您需要使用真實的 IMAP 客戶端)。
注意
確保您的電子郵件程式傳送的郵件符合專案標準仍然是您的責任。許多專案不喜歡以附件形式傳送補丁。一些郵件代理會將補丁進行轉換(例如,自動換行、以 format=flowed 格式傳送),從而導致補丁失敗。如果您不檢查這一點,您將收到憤怒的指責和嘲笑。
特別是 Thunderbird 已知存在問題。Thunderbird 使用者可以訪問此網頁瞭解更多資訊:https://kb.mozillazine.org/Plain_text_e-mail_-_Thunderbird#Completely_plain_email
另請參閱
git-format-patch[1]、git-send-email[1]、mbox(5)