# パッチを使う

> For the complete documentation index, see [llms.txt](https://www.jetbrains.com/ja-jp/help/idea/llms.txt).

ローカルの変更をコミットする代わりに、変更を  `.patch`  ファイルに入れて、後でソースに適用したり、メールで送信したりすることができます。 パッチを使用すると、Git リポジトリで変更をチェックインせずに共有するのに便利なメカニズムになります。

Procedure: コミットされていない変更からパッチを作成する

1. コミット   ツールウィンドウ ( `Alt+0` (Windows), `⌘ 0` (macOS), `⌘ 0` (IntelliJ IDEA Classic (macOS)), `⌘ 0` (macOS System Shortcuts), `Alt+0` (XWin), `Alt+0` (GNOME), `Alt+0` (KDE), `Alt+0` (Emacs), `Alt+0` (Sublime Text), `⌘ 0` (Sublime Text (macOS)), `Alt+0` (Visual Studio), `Alt+0` (Visual Studio (macOS)), `Alt+0` (NetBeans), `Alt+0` (Eclipse), `⌘ 0` (Eclipse (macOS))) で、パッチに含めるファイルまたは変更リストを選択し、コンテキストメニューから   ローカル変更からパッチを作成   を選択します。

2. 開いたダイアログで、パッチに含めるすべての変更が選択されていることを確認し、コミットコメント (パッチファイル名として使用されます) を入力して、   パッチの作成   をクリックします。

3. パッチファイル設定   ダイアログで、次の詳細を指定します。

* パッチファイルの場所: デフォルトの場所を選択するか、パッチをファイルに保存しない場合は クリップボード へオプションを選択します。

* ベースパス: パッチファイル内のパスを書き込む相対パスを指定します。 通常はプロジェクトディレクトリですが、変更されたファイルが Git リポジトリ内に保存されている場合など、相対パスを使用することもできます。

* リバースパッチ: 変更を元に戻せるパッチを作成する場合は、このオプションを選択します。

* エンコーディング: ドロップダウンリストからパッチファイルのエンコーディングを選択します。

パッチをファイルに保存する必要がない場合 (たとえば、代わりにメールで送信する場合) は、   コミット   ツールウィンドウ ( `Alt+0` (Windows), `⌘ 0` (macOS), `⌘ 0` (IntelliJ IDEA Classic (macOS)), `⌘ 0` (macOS System Shortcuts), `Alt+0` (XWin), `Alt+0` (GNOME), `Alt+0` (KDE), `Alt+0` (Emacs), `Alt+0` (Sublime Text), `⌘ 0` (Sublime Text (macOS)), `Alt+0` (Visual Studio), `Alt+0` (Visual Studio (macOS)), `Alt+0` (NetBeans), `Alt+0` (Eclipse), `⌘ 0` (Eclipse (macOS)) ) で必要なファイルを右クリックし、コンテキストメニューから   パッチとしてクリップボードにコピー   を選択します。

Procedure: コミット全体からパッチを作成する

1. Git   ツールウィンドウ `Alt+9` (Windows), `⌘ 9` (macOS), `⌘ 9` (IntelliJ IDEA Classic (macOS)), `⌘ 9` (macOS System Shortcuts), `Alt+9` (XWin), `Alt+9` (GNOME), `Alt+9` (KDE), `Alt+9` (Emacs), `Alt+9` (Sublime Text), `⌘ 9` (Sublime Text (macOS)), `Alt+9` (Visual Studio), `⌘ 9` (Visual Studio (macOS)), `Alt+9` (NetBeans), `Alt+9` (Eclipse), `⌘ 9` (Eclipse (macOS)) の   ログ   タブで、パッチに含める変更を含むコミットを見つけて、コンテキストメニューから   パッチの作成   を選択します。

2. パッチファイル設定   ダイアログで、次の詳細を指定します。

* パッチファイルの場所: デフォルトの場所を選択するか、パッチをファイルに保存しない場合は クリップボード へオプションを選択します。

* ベースパス: パッチファイル内のパスを書き込む相対パスを指定します。 通常はプロジェクトディレクトリですが、変更されたファイルが Git リポジトリ内に保存されている場合など、相対パスを使用することもできます。

* リバースパッチ: 変更を元に戻せるパッチを作成する場合は、このオプションを選択します。

* エンコーディング: ドロップダウンリストからパッチファイルのエンコーディングを選択します。

Procedure: ファイルからパッチを作成する

1. 任意の表示 (   プロジェクト   ツールウィンドウ ( `Alt+1` (Windows), `⌘ 1` (macOS), `⌘ 1` (IntelliJ IDEA Classic (macOS)), `⌘ 1` (macOS System Shortcuts), `Alt+1` (XWin), `Alt+1` (GNOME), `Alt+1` (KDE), `Alt+1` (Emacs), `Alt+1` (Sublime Text), `⌘ 1` (Sublime Text (macOS)), `Ctrl+Alt+L` (Visual Studio), `⌘ ⌥ L` (Visual Studio (macOS)), `Ctrl+1` (NetBeans), `Alt+1` (Eclipse), `Alt+1` (Eclipse (macOS)))、エディター、   コミット   ウィンドウなど) で必要なファイルを選択します。

2. メインメニューから   Git | 選択されたファイル | 履歴の表示   を選択するか、選択のコンテキストメニューから   Git | 履歴の表示   を選択します。   Git   ツールウィンドウに   履歴   タブが追加され、選択したファイルの履歴が表示され、そのリビジョンを確認して比較できるようになります。

3. リビジョンを右クリックし、コンテキストメニューから   パッチの作成   を選択します。

Procedure: パッチを適用する

1. メインメニューから選択します:

* `Git | パッチ | パッチの適用` で保存済みの `.patch` ファイルを選択します。

* `Git | パッチ | クリップボードからパッチを適用` パッチファイルの内容をコピーした場合。 例: パッチをメールで受け取って保存したくない場合に便利です。 [Git フォーマット](https://git-scm.com/docs/git-format-patch)パッチの場合、IntelliJ IDEA はコミットメッセージと作成者を抽出し、 コミット ツールウィンドウ ( `Alt+0` (Windows), `⌘ 0` (macOS), `⌘ 0` (IntelliJ IDEA Classic (macOS)), `⌘ 0` (macOS System Shortcuts), `Alt+0` (XWin), `Alt+0` (GNOME), `Alt+0` (KDE), `Alt+0` (Emacs), `Alt+0` (Sublime Text), `⌘ 0` (Sublime Text (macOS)), `Alt+0` (Visual Studio), `Alt+0` (Visual Studio (macOS)), `Alt+0` (NetBeans), `Alt+0` (Eclipse), `⌘ 0` (Eclipse (macOS))) の対応するフィールドに自動的に入力します。

2. 開いている   パッチの適用   ダイアログで、適用する   .patch   ファイルへのパスを指定します。

> **Tip:**
> ファイルまたはメールの添付ファイルをエディター内の任意の場所にドラッグできます。

3. パッチの作成後にソースコードを編集すると、競合が発生する可能性があります。 パッチが競合せずに適用できるかどうかを確認するには、   Show Diff   ![the Show diff icon](https://resources.jetbrains.com/help/img/idea/2026.3/app-client.expui.vcs.diff.svg) `Ctrl+D` (Windows), `⌘ D` (macOS), `⌘ D` (IntelliJ IDEA Classic (macOS)), `⌘ D` (macOS System Shortcuts), `Ctrl+D` (XWin), `Ctrl+D` (GNOME), `Ctrl+D` (KDE), `Ctrl+D` (Emacs), `Ctrl+D` (Sublime Text), `⌘ D` (Sublime Text (macOS)), `Ctrl+D` (Visual Studio), `⌘ D` (Visual Studio (macOS)), `Ctrl+D` (NetBeans), `Ctrl+D` (Eclipse), `⌘ D` (Eclipse (macOS)) をクリックします。 競合がある場合は、対応する行が赤色でハイライトされます。

4. 必要に応じて、 ![](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.nodes.copyOfFolder.svg)   ディレクトリパスの変更   をクリックして、次を選択します:

* ベースディレクトリをマップ : パッチファイル内のファイル名を解釈する基準となるディレクトリを指定します。 ベースディレクトリを単一のファイル、ディレクトリ、選択範囲にマップできます。

* 先頭ディレクトリを除去 : パッチで指定されたものとは異なるディレクトリにあるファイルに変更を適用します。 このボタンをクリックすると、ターゲットファイルへのパスからスラッシュが 1 つ削除されます。 削除する必要がある先頭ディレクトリの数だけボタンをクリックします。 削除されたスラッシュの数は角括弧内に表示されます。

* すべての先頭ディレクトリを除去 : すべての先頭ディレクトリを一度に除去し、ベースディレクトリ内の指定された名前のファイルにパッチを適用します。

* 先頭ディレクトリを復元 : 最後の 先頭ディレクトリを除去 アクションを元に戻します。 以前に取り除かれた先頭ディレクトリのうち、復元する必要がある数だけボタンをクリックします。

* すべての先頭ディレクトリを復元 : すべての先頭ディレクトリを除去 アクションを元に戻します。

5. パッチを適用する変更リストを選択するか、   名前   フィールドに新しい変更リストの名前を指定して、この変更リストにコメントを入力します (オプション)。

6. この変更リストをアクティブにする場合は、   アクティブに設定   オプションを選択します。

7. IntelliJ IDEA で、非アクティブ化されたときに新しい変更リストに関連付けられたタスクの  コンテキスト を保存し、変更リストがアクティブになったときにコンテキストを復元するようにするには、   トラックコンテキスト   オプションを選択します (詳細については、 [タスクとコンテキスト](managing-tasks-and-context.html)を参照してください)。

8. クリップボードからパッチを適用する場合、IntelliJ IDEA がクリップボードの内容に含まれるパッチを自動的に検出して適用を提案するように、   クリップボードからパッチを随時解析して適用   オプションを選択できます。

9. パッチを適用する前に一時ストレージ (シェルフ) に移動する場合は、   シェルフにインポート   をクリックします (詳細については、 [シェルブまたはスタッシュの変更](shelving-and-unshelving-changes.html) を参照してください)。 それ以外の場合は、   OK   をクリックします。

