セットアップと設定
プロジェクトの取得と作成
基本的なスナップショット
ブランチとマージ
プロジェクトの共有と更新
検査と比較
パッチ適用
デバッグ
メール
外部システム
サーバー管理
- 2.50.1 変更なし
-
2.50.0
2025-06-16
- 2.47.1 → 2.49.1 変更なし
-
2.47.0
2024-10-06
- 2.45.1 → 2.46.4 変更なし
-
2.45.0
2024-04-29
- 2.44.1 → 2.44.4 変更なし
-
2.44.0
2024-02-23
- 2.43.2 → 2.43.7 変更なし
-
2.43.1
2024-02-09
-
2.43.0
2023-11-20
- 2.41.1 → 2.42.4 変更なし
-
2.41.0
2023-06-01
- 2.39.1 → 2.40.4 変更なし
-
2.39.0
2022-12-12
- 2.38.1 → 2.38.5 変更なし
-
2.38.0
2022-10-02
- 2.35.1 → 2.37.7 変更なし
-
2.35.0
2022-01-24
- 2.33.1 → 2.34.8 変更なし
-
2.33.0
2021-08-16
- 2.30.2 → 2.32.7 変更なし
-
2.30.1
2021-02-08
-
2.30.0
2020-12-27
- 2.24.1 → 2.29.3 変更なし
-
2.24.0
2019-11-04
- 2.23.1 → 2.23.4 変更なし
-
2.23.0
2019-08-16
- 2.22.2 → 2.22.5 変更なし
-
2.22.1
2019-08-11
- 2.21.1 → 2.22.0 変更なし
-
2.21.0
2019-02-24
- 2.20.1 → 2.20.5 変更なし
-
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.17.1 → 2.17.6 変更なし
-
2.17.0
2018-04-02
-
2.16.6
2019-12-06
- 2.15.4 変更なし
-
2.14.6
2019-12-06
- 2.13.7 変更なし
-
2.12.5
2017-09-22
- 2.10.5 → 2.11.4 変更なし
-
2.9.5
2017-07-30
- 2.8.6 変更なし
-
2.7.6
2017-07-30
-
2.6.7
2017-05-05
-
2.5.6
2017-05-05
-
2.4.12
2017-05-05
-
2.3.10
2015-09-28
- 2.2.3 変更なし
-
2.1.4
2014-12-17
-
2.0.5
2014-12-17
概要
git send-email [<options>] (<file>|<directory>)… git send-email [<options>] <format-patch-options> git send-email --dump-aliases git send-email --translate-aliases
説明
コマンドラインで指定されたパッチを取得し、それらをメールで送信します。パッチはファイル、ディレクトリ (ディレクトリ内のすべてのファイルが送信されます)、または直接リビジョンリストとして指定できます。後者の場合、git-format-patch[1] が受け入れる任意の形式を git send-email に渡すことができ、git-format-patch[1] が理解するオプションも渡すことができます。
メールのヘッダーはコマンドラインオプションで設定可能です。コマンドラインで指定されない場合、必要な情報を提供するために ReadLine 対応インターフェースがユーザーにプロンプト表示されます。
パッチファイルには2つの形式が受け入れられます。
-
mbox 形式ファイル
これは git-format-patch[1] が生成するものです。ほとんどのヘッダーと MIME フォーマットは無視されます。
-
Greg Kroah-Hartman の send_lots_of_email.pl スクリプトで使用されていた元の形式
この形式では、ファイルの最初の行に "Cc:" の値、2行目にメッセージの "Subject:" が含まれることを想定しています。
オプション
作成
- --annotate
-
送信しようとしている各パッチを確認し、編集します。デフォルトは
sendemail.annotate
の値です。sendemail.multiEdit
については CONFIGURATION セクションを参照してください。 - --bcc=<address>,…
-
各メールの "Bcc:" 値を指定します。デフォルトは
sendemail.bcc
の値です。このオプションは複数回指定できます。
- --cc=<address>,…
-
各メールの初期 "Cc:" 値を指定します。デフォルトは
sendemail.cc
の値です。このオプションは複数回指定できます。
- --compose
-
テキストエディタ ( git-var[1] の GIT_EDITOR を参照) を起動して、パッチシリーズの紹介メッセージを編集します。
--compose
が使用されると、git send-email はメッセージで指定された From、To、Cc、Bcc、Subject、Reply-To、および In-Reply-To ヘッダーを使用します。メッセージの本文 (ヘッダーと空白行の後に記述する内容) が空白行 (または Git: プレフィックス付きの行) のみを含む場合、要約は送信されませんが、上記で言及されたヘッダーは削除されない限り使用されます。From または In-Reply-To ヘッダーが欠落している場合、プロンプトが表示されます。
sendemail.multiEdit
については CONFIGURATION セクションを参照してください。 - --from=<address>
-
メールの送信者を指定します。コマンドラインで指定されない場合、
sendemail.from
設定オプションの値が使用されます。コマンドラインオプションもsendemail.from
も設定されていない場合、ユーザーに値のプロンプトが表示されます。プロンプトのデフォルトは、「git var -l」によって返される GIT_AUTHOR_IDENT の値、またはそれが設定されていない場合は GIT_COMMITTER_IDENT の値です。 - --reply-to=<address>
-
受信者からの返信が送られるアドレスを指定します。メッセージへの返信を --from パラメータで指定されたアドレスとは異なるアドレスに送る必要がある場合に使用します。
- --in-reply-to=<identifier>
-
最初のメール(または
--no-thread
の場合はすべてのメール)が、指定された Message-ID への返信として表示されるようにします。これにより、スレッドが中断されずに新しいパッチシリーズが提供されます。2番目以降のメールは、--
[no-
]chain-reply-to
設定に従って返信として送信されます。したがって、たとえば
--thread
と--no-chain-reply-to
が指定されている場合、2番目以降のパッチは、下の図のように最初のパッチへの返信として送信されます。[PATCH
v2
0/3
] は [PATCH
0/2
] への返信です。[PATCH 0/2] Here is what I did... [PATCH 1/2] Clean up and tests [PATCH 2/2] Implementation [PATCH v2 0/3] Here is a reroll [PATCH v2 1/3] Clean up [PATCH v2 2/3] New tests [PATCH v2 3/3] Implementation
--compose も設定されている場合にのみ必要です。--compose が設定されていない場合、プロンプトが表示されます。
- --[no-]outlook-id-fix
-
Microsoft Outlook の SMTP サーバーは、メールで送信された Message-ID を破棄し、新しいランダムな Message-ID を割り当てるため、スレッドが壊れます。
--outlook-id-fix
を使用すると、git send-email は Outlook サーバー固有のメカニズムを使用して、サーバーが割り当てた Message-ID を取得し、スレッドを修正します。サーバーが Outlook サーバーと同じ方法で書き換えられた Message-ID を報告することを知っている場合にのみ使用してください。このオプションが指定されていない場合、smtp.office365.com または smtp-mail.outlook.com と通信する際にはデフォルトで修正が行われます。
--no-outlook-id-fix
を使用すると、これらの2つのサーバーと通信する場合でも修正を無効にできます。 - --subject=<string>
-
メールスレッドの初期件名を指定します。--compose も設定されている場合にのみ必要です。--compose が設定されていない場合、プロンプトが表示されます。
- --to=<address>,…
-
生成されるメールの主要な受信者を指定します。通常、これは関連プロジェクトのアップストリームメンテナーになります。デフォルトは
sendemail.to
設定の値です。これが指定されておらず、--to-cmd も指定されていない場合、プロンプトが表示されます。このオプションは複数回指定できます。
- --8bit-encoding=<encoding>
-
エンコーディングを宣言していない非ASCIIメッセージまたは件名に遭遇した場合、<encoding> でエンコードされていることを示すヘッダー/クォートを追加します。デフォルトは sendemail.assume8bitEncoding の値です。それが指定されていない場合、非ASCIIファイルが検出された場合にプロンプトが表示されます。
エンコーディングの検証は一切行われないことに注意してください。
- --compose-encoding=<encoding>
-
メッセージ作成のエンコーディングを指定します。デフォルトは sendemail.composeEncoding の値です。それが指定されていない場合、UTF-8 が仮定されます。
- --transfer-encoding=(7bit|8bit|quoted-printable|base64|auto)
-
SMTP経由でメッセージを送信するために使用する転送エンコーディングを指定します。7bitは非ASCIIメッセージに遭遇すると失敗します。quoted-printableはリポジトリにキャリッジリターンを含むファイルがある場合に役立ちますが、生のパッチメールファイル(MUAから保存されたもの)を手動で検査するのがはるかに難しくなります。base64はさらに確実ですが、さらに不透明です。autoは可能な場合は8bitを使用し、それ以外の場合はquoted-printableを使用します。
デフォルトは
sendemail.transferEncoding
設定値です。それが指定されていない場合、デフォルトはauto
です。 - --xmailer
- --no-xmailer
-
"X-Mailer:" ヘッダーを追加する (または追加しない)。デフォルトでは、このヘッダーは追加されますが、
sendemail.xmailer
設定変数をfalse
に設定することでオフにできます。
送信中
- --envelope-sender=<address>
-
メールを送信する際に使用されるエンベロープ送信者を指定します。これは、デフォルトのアドレスがリストに登録されているアドレスではない場合に便利です。From アドレスを使用するには、値を "auto" に設定します。sendmail バイナリを使用する場合、-f パラメータに適切な権限が必要です。デフォルトは
sendemail.envelopeSender
設定変数の値です。これが指定されていない場合、エンベロープ送信者の選択は MTA に任されます。 - --sendmail-cmd=<command>
-
メールを送信するために実行するコマンドを指定します。コマンドは sendmail のようなものである必要があります。特に、
-i
オプションをサポートしている必要があります。コマンドは必要に応じてシェルで実行されます。デフォルトはsendemail.sendmailCmd
の値です。指定されていない場合、かつ --smtp-server も指定されていない場合、git-send-email は/usr/sbin
,/usr/lib
, および $PATH でsendmail
を検索します。 - --smtp-encryption=<encryption>
-
SMTP接続の暗号化の開始方法を指定します。有効な値は ssl と tls です。その他の値はプレーン(非暗号化)SMTPに戻り、デフォルトはポート25です。名前にもかかわらず、どちらの値も同じ新しいバージョンのTLSを使用しますが、歴史的な理由でこれらの名前が付けられています。ssl は「暗黙的」な暗号化(SMTPSとも呼ばれます)を指し、デフォルトでポート465を使用します。tls は「明示的」な暗号化(STARTTLSとしてよく知られています)を指し、デフォルトでポート25を使用します。SMTPサーバーによっては、デフォルトではない他のポートが使用される場合があります。tls と非暗号化の一般的な代替ポートは587です。ご自身のケースについては、プロバイダーのドキュメントまたはサーバー構成を確認してください。デフォルトは
sendemail.smtpEncryption
の値です。 - --smtp-domain=<FQDN>
-
SMTPサーバーへのHELO/EHLOコマンドで使用される完全修飾ドメイン名 (FQDN) を指定します。一部のサーバーは、FQDNがIPアドレスと一致することを要求します。設定されていない場合、git send-emailは自動的にFQDNを決定しようとします。デフォルトは
sendemail.smtpDomain
の値です。 - --smtp-auth=<mechanisms>
-
許可されるSMTP-AUTHメカニズムの空白区切りリスト。この設定により、リストされたメカニズムのみを使用するように強制されます。例:
$ git send-email --smtp-auth="PLAIN LOGIN GSSAPI" ...
指定されたメカニズムの少なくとも1つがSMTPサーバーによってアドバタイズされたメカニズムと一致し、それが利用されているSASLライブラリによってサポートされている場合、そのメカニズムが認証に使用されます。sendemail.smtpAuth も
--smtp-auth
も指定されていない場合、SASLライブラリによってサポートされているすべてのメカニズムを使用できます。特殊な値 none は、--smtp-user
とは無関係に認証を完全に無効にするために指定できます。 - --smtp-pass[=<password>]
-
SMTP-AUTH のパスワード。引数はオプションです。引数が指定されない場合、空の文字列がパスワードとして使用されます。デフォルトは
sendemail.smtpPass
の値ですが、--smtp-pass
は常にこの値を上書きします。さらに、パスワードは設定ファイルやコマンドラインで指定する必要はありません。ユーザー名が指定されている場合(
--smtp-user
またはsendemail.smtpUser
で)、パスワードが指定されていない場合(--smtp-pass
またはsendemail.smtpPass
で)、パスワードは git-credential を使用して取得されます。 - --no-smtp-auth
-
SMTP認証を無効にします。
--smtp-auth=none
の短縮形。 - --smtp-server=<host>
-
設定されている場合、使用する送信SMTPサーバーを指定します (例:
smtp.example.com
または生のIPアドレス)。指定されていない場合、かつ--sendmail-cmd
も指定されていない場合、デフォルトでは/usr/sbin
、/usr/lib
、および $PATH でsendmail
が利用可能な場合はそれを検索し、それ以外の場合はlocalhost
にフォールバックします。後方互換性のため、このオプションは sendmail のようなプログラムの完全なパス名も指定できます。このプログラムは
-i
オプションをサポートしている必要があります。この方法は引数を渡したり、プレーンなコマンド名を使用したりすることをサポートしていません。これらのユースケースでは、代わりに--sendmail-cmd
を使用することを検討してください。 - --smtp-server-port=<port>
-
デフォルトポートとは異なるポートを指定します(SMTPサーバーは通常smtpポート25でリッスンしますが、submissionポート587、または一般的なSSL smtpポート465でもリッスンする場合があります)。シンボリックなポート名(例:587の代わりに「submission」)も受け入れられます。ポートは
sendemail.smtpServerPort
設定変数でも設定できます。 - --smtp-server-option=<option>
-
設定されている場合、使用する送信SMTPサーバーオプションを指定します。デフォルト値は
sendemail.smtpServerOption
設定オプションで指定できます。--smtp-server-option オプションは、サーバーに渡したいオプションごとに繰り返す必要があります。同様に、設定ファイルの異なる行を各オプションに使用する必要があります。
- --smtp-ssl
-
--smtp-encryption ssl のレガシーエイリアス。
- --smtp-ssl-cert-path
-
SMTP SSL/TLS証明書検証のための信頼されたCA証明書のストアへのパス(_c_rehash_によって処理されたディレクトリ、または複数のPEM形式証明書が連結された単一ファイル。詳細についてはverify(1) -CAfileおよび-CApathを参照)。証明書検証を無効にするには空文字列に設定します。設定されている場合、
sendemail.smtpSSLCertPath
設定変数の値がデフォルトとなり、設定されていない場合は、バックエンドのSSLライブラリにコンパイルされたデフォルトが使用されます(ほとんどのプラットフォームで最良の選択肢となるはずです)。 - --smtp-user=<user>
-
SMTP-AUTH のユーザー名。デフォルトは
sendemail.smtpUser
の値です。ユーザー名が指定されていない場合 (--smtp-user
またはsendemail.smtpUser
で)、認証は試行されません。 - --smtp-debug=(0|1)
-
デバッグ出力を有効 (1) または無効 (0) にします。有効にした場合、SMTP コマンドと応答が出力されます。TLS 接続や認証の問題をデバッグするのに役立ちます。
- --batch-size=<num>
-
一部のメールサーバー(例:smtp.163.com)は、セッション(接続)ごとに送信されるメールの数を制限しており、多数のメッセージを送信すると失敗する可能性があります。このオプションを使用すると、send-email は $<num> メッセージを送信した後に切断し、数秒間待機(--relogin-delay を参照)して再接続することで、このような制限を回避します。このようなことが発生するたびにパスワードを再入力するのを避けるために、何らかの形式の資格情報ヘルパーを使用することをお勧めします。デフォルトは
sendemail.smtpBatchSize
設定変数です。 - --relogin-delay=<int>
-
SMTPサーバーに再接続する前に $<int> 秒間待機します。--batch-size オプションと組み合わせて使用します。デフォルトは
sendemail.smtpReloginDelay
設定変数です。
自動化
- --no-to
- --no-cc
- --no-bcc
-
config を介して以前に設定された "To:", "Cc:", "Bcc:" アドレスのリストをクリアします。
- --no-identity
-
config を介して設定された
sendemail.identity
の以前に読み込まれた値をクリアします (存在する場合)。 - --to-cmd=<command>
-
パッチファイルごとに1回実行され、パッチファイル固有の "To:" エントリを生成するコマンドを指定します。このコマンドの出力は、1行に1つのメールアドレスでなければなりません。デフォルトは sendemail.toCmd 設定値です。
- --cc-cmd=<command>
-
パッチファイルごとに1回実行され、パッチファイル固有の "Cc:" エントリを生成するコマンドを指定します。このコマンドの出力は、1行に1つのメールアドレスでなければなりません。デフォルトは
sendemail.ccCmd
設定値です。 - --header-cmd=<command>
-
送信するメッセージごとに1回実行され、RFC 2822 スタイルのヘッダー行を出力してメッセージに挿入するコマンドを指定します。
sendemail.headerCmd
設定変数が設定されている場合、その値は常に使用されます。コマンドラインで --header-cmd が指定されている場合、その値はsendemail.headerCmd
設定変数よりも優先されます。 - --no-header-cmd
-
使用中のヘッダーコマンドを無効にします。
- --[no-]chain-reply-to
-
これを設定すると、各メールは以前に送信されたメールへの返信として送信されます。"--no-chain-reply-to" で無効にすると、最初のメール以降のすべてのメールは最初のメールへの返信として送信されます。これを使用する場合は、最初に与えられたファイルがパッチシリーズ全体の概要であることが推奨されます。デフォルトでは無効ですが、
sendemail.chainReplyTo
設定変数を使用して有効にできます。 - --identity=<identity>
-
設定識別子。指定すると、コマンドラインまたは
sendemail.identity
のいずれかを通じてこの識別子が選択された場合、sendemail.<identity> サブセクションの値が sendemail セクションの値よりも優先されます。デフォルトの識別子はsendemail.identity
の値です。 - --[no-]signed-off-by-cc
-
これを設定すると、
Signed-off-by
トレーラーまたは Cc: 行で見つかったメールが cc リストに追加されます。デフォルトはsendemail.signedOffByCc
設定値です。それが指定されていない場合、デフォルトは --signed-off-by-cc です。 - --[no-]cc-cover
-
これを設定すると、シリーズの最初のパッチ (通常はカバーレター) の Cc: ヘッダーにあるメールが、各メールセットの cc リストに追加されます。デフォルトは sendemail.ccCover 設定値です。これが指定されていない場合、デフォルトは --no-cc-cover です。
- --[no-]to-cover
-
これを設定すると、シリーズの最初のパッチ(通常はカバーレター)の To: ヘッダーにあるメールが、各メールセットの To リストに追加されます。デフォルトは sendemail.toCover 設定値です。それが指定されていない場合、デフォルトは --no-to-cover です。
- --suppress-cc=<category>
-
自動CCの抑制対象となる追加の受信者カテゴリを指定します。
-
author はパッチの作者を含まないようにします。
-
self は送信者を含まないようにします。
-
cc はパッチヘッダーの Cc 行に記載されている人(自身を除く。自身の場合は self を使用)を含まないようにします。
-
bodycc はパッチ本文(コミットメッセージ)の Cc 行に記載されている人(自身を除く。自身の場合は self を使用)を含まないようにします。
-
sob は Signed-off-by トレーラーに記載されている人(自身を除く。自身の場合は self を使用)を含まないようにします。
-
misc-by は Acked-by、Reviewed-by、Tested-by、およびパッチ本文のその他の "-by" 行に記載されている人(Signed-off-by を除く。Signed-off-by の場合は sob を使用)を含まないようにします。
-
cccmd は --cc-cmd の実行を回避します。
-
body は sob + bodycc + misc-by と同等です。
-
all はすべての自動 cc 値を抑制します。
デフォルトは
sendemail.suppressCc
設定値です。これが指定されていない場合、--suppress-from が指定されていれば self が、--no-signed-off-cc が指定されていれば body がデフォルトになります。 -
- --[no-]suppress-from
-
これを設定すると、From: アドレスを cc: リストに追加しません。デフォルトは
sendemail.suppressFrom
設定値です。これが指定されていない場合、デフォルトは --no-suppress-from です。 - --[no-]thread
-
これを設定すると、送信される各メールに In-Reply-To および References ヘッダーが追加されます。各メールが以前のメールを参照するか (git format-patch の用語では
deep
スレッド)、それとも最初のメールを参照するか (shallow
スレッド) は、"--[no-]chain-reply-to" によって制御されます。「--no-thread」で無効にすると、これらのヘッダーは追加されません(--in-reply-to で指定されている場合を除く)。デフォルトは
sendemail.thread
設定値です。それが指定されていない場合、デフォルトは --thread です。git send-email に In-Reply-To ヘッダーを追加するよう求められたときに、既存の In-Reply-To ヘッダーが存在しないことを確認するのはユーザーの責任です(特に、git format-patch がスレッド化自体を行うように設定できることに注意してください)。これを怠ると、受信者の MUA で期待される結果が得られない場合があります。
- --[no-]mailmap
-
mailmap ファイル ( gitmailmap[5] を参照) を使用して、すべてのアドレスを正規の実名とメールアドレスにマッピングします。git-send-email に固有の追加の mailmap データは、
sendemail.mailmap.file
またはsendemail.mailmap.blob
設定値を使用して提供できます。デフォルトはsendemail.mailmap
です。
管理
- --confirm=<mode>
-
送信直前に確認する
-
always は送信前に常に確認します。
-
never は送信前に決して確認しません。
-
cc は、send-emailがパッチからアドレスをCcリストに自動的に追加した場合に、送信前に確認します。
-
compose は --compose を使用している場合に、最初のメッセージを送信する前に確認します。
-
auto は cc + compose と同等です。
デフォルトは
sendemail.confirm
設定値です。それが指定されていない場合、抑制オプションのいずれかが指定されていない限り auto がデフォルトとなり、その場合は compose がデフォルトとなります。 -
- --dry-run
-
実際にメールを送信することを除き、すべてを実行します。
- --[no-]format-patch
-
引数が参照としてもファイル名としても解釈される可能性がある場合、それを format-patch 引数 (
--format-patch
) として解釈するか、ファイル名 (--no-format-patch
) として解釈するかを選択します。デフォルトでは、このような競合が発生した場合、git send-email は失敗します。 - --quiet
-
git-send-email の冗長性を抑えます。メールあたり1行のみが出力されるはずです。
- --[no-]validate
-
パッチの健全性チェックを実行します。現在、検証は以下のことを意味します。
-
sendemail-validate フックが存在する場合に呼び出す ( githooks[5] を参照)。
-
適切な転送エンコーディング (auto, base64, または quoted-printable) が使用されていない限り、998文字を超える行を含むパッチについて警告する。これは https://www.ietf.org/rfc/rfc5322.txt に記述されている SMTP 制限によるものです。
デフォルトは
sendemail.validate
の値です。これが設定されていない場合、デフォルトは--validate
です。 -
- --force
-
安全チェックによって阻止される場合でもメールを送信します。
情報
- --dump-aliases
-
通常の操作ではなく、設定されたエイリアスファイルから省略エイリアス名を、アルファベット順に1行に1つずつダンプします。これはエイリアス名のみを含み、展開されたメールアドレスは含まれないことに注意してください。エイリアスの詳細については sendemail.aliasesFile を参照してください。
- --translate-aliases
-
通常の操作ではなく、標準入力から読み込み、各行をメールエイリアスとして解釈します。設定されたエイリアスファイルに従って変換します。変換された各名前とメールアドレスを標準出力に1行ずつ出力します。エイリアスの詳細については sendemail.aliasFile を参照してください。
設定
このセクションのこの行より下のすべての内容は、git-config[1] ドキュメントから選択的に含まれています。内容はそちらで見られるものと同じです。
- sendemail.identity
-
設定識別子。指定すると、コマンドラインまたは
sendemail.identity
のいずれかを通じてこの識別子が選択された場合、sendemail.<identity> サブセクションの値が sendemail セクションの値よりも優先されます。デフォルトの識別子はsendemail.identity
の値です。 - sendemail.smtpEncryption
-
詳細については git-send-email[1] を参照してください。この設定は identity メカニズムの対象ではないことに注意してください。
- sendemail.smtpSSLCertPath
-
CA証明書へのパス(ディレクトリまたは単一ファイル)。証明書検証を無効にするには空文字列に設定します。
- sendemail.<identity>.*
-
以下に示す sendemail.* パラメータのID固有バージョン。このIDがコマンドラインまたは
sendemail.identity
のいずれかで選択された場合、これらが優先されます。 - sendemail.multiEdit
-
true(デフォルト)の場合、編集する必要のあるファイル(
--annotate
使用時のパッチ、--compose
使用時の要約)を編集するために、単一のエディタインスタンスが起動されます。falseの場合、ファイルは新しいエディタが毎回起動されて、1つずつ編集されます。 - sendemail.confirm
-
送信前に確認するかどうかのデフォルトを設定します。always、never、cc、compose、または auto のいずれかである必要があります。これらの値の意味については、git-send-email[1] ドキュメントの
--confirm
を参照してください。 - sendemail.mailmap
-
trueの場合、git-send-email[1] は
--mailmap
を仮定し、そうでない場合は--no-mailmap
を仮定します。デフォルトは false です。 - sendemail.mailmap.file
-
git-send-email[1] 固有の追加メールマップファイルの場所。デフォルトのメールマップと
mailmap.file
が最初に読み込まれます。したがって、このファイル内のエントリは、デフォルトのメールマップの場所のエントリよりも優先されます。gitmailmap[5] を参照してください。 - sendemail.mailmap.blob
-
sendemail.mailmap.file
と同様ですが、値をリポジトリ内のブロブへの参照とみなします。sendemail.mailmap.file
のエントリは、ここでのエントリよりも優先されます。gitmailmap[5] を参照してください。 - sendemail.aliasesFile
-
長いメールアドレスの入力を避けるため、これを1つまたは複数のメールエイリアスファイルに指定します。また、
sendemail.aliasFileType
も指定する必要があります。 - sendemail.aliasFileType
-
sendemail.aliasesFile で指定されたファイルの形式。mutt, mailrc, pine, elm, gnus, または sendmail のいずれかでなければなりません。
各形式のエイリアスファイルがどのようなものかは、同名のメールプログラムのドキュメントに記載されています。標準形式との違いと制限は以下の通りです。
- sendemail.annotate
- sendemail.bcc
- sendemail.cc
- sendemail.ccCmd
- sendemail.chainReplyTo
- sendemail.envelopeSender
- sendemail.from
- sendemail.headerCmd
- sendemail.signedOffByCc
- sendemail.smtpPass
- sendemail.suppressCc
- sendemail.suppressFrom
- sendemail.to
- sendemail.toCmd
- sendemail.smtpDomain
- sendemail.smtpServer
- sendemail.smtpServerPort
- sendemail.smtpServerOption
- sendemail.smtpUser
- sendemail.thread
- sendemail.transferEncoding
- sendemail.validate
- sendemail.xmailer
-
これらの設定変数はすべて、git-send-email[1] コマンドラインオプションのデフォルト値を提供します。詳細については、そのドキュメントを参照してください。
- sendemail.signedOffCc (非推奨)
-
sendemail.signedOffByCc
の非推奨のエイリアスです。 - sendemail.smtpBatchSize
-
接続ごとに送信されるメッセージの数で、その後に再ログインが発生します。値が0または未定義の場合、すべてのメッセージを1つの接続で送信します。git-send-email[1] の
--batch-size
オプションも参照してください。 - sendemail.smtpReloginDelay
-
SMTP サーバーに再接続するまでの待機時間(秒)。git-send-email[1] の
--relogin-delay
オプションも参照してください。 - sendemail.forbidSendmailVariables
-
一般的な設定ミスを避けるため、git-send-email[1] は「sendmail」の設定オプションが存在する場合、警告を出して中断します。この変数を設定すると、チェックをバイパスできます。
SMTPサーバーの例
Gmail を SMTP サーバーとして使用する
git
send-email
を使用して Gmail SMTP サーバー経由でパッチを送信するには、~/.gitconfig
を編集してアカウント設定を指定します。
[sendemail] smtpEncryption = tls smtpServer = smtp.gmail.com smtpUser = yourname@gmail.com smtpServerPort = 587
Gmail アカウントで多要素認証を設定している場合は、git send-email で使用するアプリパスワードを生成できます。作成するには https://security.google.com/settings/security/apppasswords にアクセスしてください。
Gmail で OAuth2.0 認証を使用することもできます。OAUTHBEARER
と XOAUTH2
はこの種の認証で一般的に使用されるメソッドです。Gmail は両方をサポートしています。例として、OAUTHBEARER
を使用したい場合は、~/.gitconfig
ファイルを編集し、アカウント設定に smtpAuth
=
OAUTHBEARER
を追加してください。
[sendemail] smtpEncryption = tls smtpServer = smtp.gmail.com smtpUser = yourname@gmail.com smtpServerPort = 587 smtpAuth = OAUTHBEARER
Microsoft Outlook を SMTP サーバーとして使用する
Gmail とは異なり、Microsoft Outlook はアプリ固有のパスワードをサポートしなくなりました。したがって、Outlook には OAuth2.0 認証を使用する必要があります。また、XOAUTH2
認証方法のみをサポートしています。
~/.gitconfig
を編集して Outlook のアカウント設定を指定し、git
send-email
でその SMTP サーバーを使用します。
[sendemail] smtpEncryption = tls smtpServer = smtp.office365.com smtpUser = yourname@outlook.com smtpServerPort = 587 smtpAuth = XOAUTH2
パッチの送信
コミットをメーリングリストに送信する準備ができたら、次のコマンドを実行します。
$ git format-patch --cover-letter -M origin/master -o outgoing/ $ edit outgoing/0000-* $ git send-email outgoing/*
初めて実行すると、資格情報の入力が求められます。必要に応じて、アプリ固有のパスワードまたは通常のパスワードを入力してください。
資格情報ヘルパーを設定している場合(git-credential[1] を参照)、パスワードは資格情報ストアに保存され、次回から入力する必要はありません。
OAuth2.0 認証を使用している場合、プロンプトが表示されたときにパスワードの代わりにアクセストークンを使用する必要があります。さまざまな OAuth2.0 トークンジェネレーターがオンラインで利用可能です。Gmail および Outlook 用のコミュニティがメンテナンスしている資格情報ヘルパーも利用可能です。
-
git-credential-gmail (クロスプラットフォーム、Gmail アカウント認証専用ヘルパー)
-
git-credential-outlook (クロスプラットフォーム、Microsoft Outlook アカウント認証専用ヘルパー)
OAuth ベースの認証ヘルパーの詳細については、gitcredentials[7] も参照してください。
注:Perl の配布版にインストールされている可能性のある、次の主要な Perl モジュールが必要です:MIME::Base64、MIME::QuotedPrint、Net::Domain、Net::SMTP。また、これらの追加の Perl モジュールも必要です:Authen::SASL、Mail::Address。
関連項目
git-format-patch[1]、git-imap-send[1]、mbox(5)
GIT
git[1]スイートの一部