IntelliJ IDEA 2026.1 Help

シェルブまたはスタッシュの変更

場合によっては、未完了のままのタスクを切り替えて、元に戻る必要があることがあります。 作業内容を失うことなく複数の異なる機能に取り組むには、保留中の変更をシェルブまたはスタッシュすることができます。

シェルブ vs スタッシュ

スタッシュの変更はシェルブと非常に似ています。

  • スタッシュは Git によって生成され、IntelliJ IDEA 内または IntelliJ IDEA 外から適用できます。

  • 保留された変更を含むパッチは IntelliJ IDEA によって生成され、IDE を通じて適用されます。

また、 スタッシュにはコミットされていないすべての変更が含まれますが、変更を 保留する場合は、すべての変更を保留するのではなく、ローカルの変更の一部を選択できます。

スタッシュとシェルフタブを組み合わせる

スタッシュシェルフの両方で作業したい場合は、 スタッシュ タブと シェルフ タブを 1 つに組み合わせることができます。

  1. Ctrl+Alt+S を押して設定を開き、 バージョン管理 | Git | スタッシュ を選択します。

  2. スタッシュとシェルフを 1 つのタブにまとめる オプションを有効にします。

    結合タブでは、 スタッシュ保留中の変更の両方を操作できます。

    隠し場所とシェルブタブ

変更のシェルブとアンシェルブ

シェルフは、まだコミットしていない保留中の変更を一時的に保存しています。 これは、たとえば、別のタスクに切り替える必要があり、後で作業するために変更を脇に置いておきたい場合に役立ちます。

IntelliJ IDEA を使用すると、個別のファイルと 変更リスト全体の両方をシェルブできます。

保留にすると、必要に応じて何度でも変更を適用できます。

変更をシェルフに退避

  1. コミット ツールウィンドウ (Alt+0) で、シェルブしたいファイルまたは変更リストを右クリックし、コンテキストメニューから 変更をシェルフに退避 を選択します。

    変更をシェルフに退避
  2. 変更をシェルフに退避 ダイアログで、変更されたファイルのリストを確認します。

    シェルブダイアログ

    デフォルトではリスト内のすべてのファイルが選択されています。 シェルフにしたくないファイルの選択を解除してください。

    項目

    ツールチップとショートカット

    説明

    「差分を表示」ボタン

    差分の表示

    Ctrl+D

    選択したファイルのローカル作業コピーとそのリポジトリバージョンの違いをハイライトする 相違ダイアログを開きます。

    「元に戻す」アイコン

    元に戻す

    選択したファイルのローカル作業コピーに加えられたすべての変更を元に戻します。

    リフレッシュボタン

    変更のリフレッシュ

    Ctrl+F5

    このボタンをクリックすると、 変更されたファイル ツリービューが最新の状態に再ロードされます。

    「グループ化」ボタン

    グループ化

    変更したファイルをディレクトリ別またはモジュール別にグループ化する方法を選択します

    「すべて展開」ボタン

    the Collapse All button

    すべてのノードを展開または折りたたむ

    Ctrl+NumPad +

    Ctrl+NumPad -

    これらのボタンをクリックすると、ディレクトリツリーのすべてのノードが展開または折りたたまれます。 これらのボタンはフラットビューでは使用できません。

    変更リスト

    なし

    このリストから、保留する変更済みファイルを含む変更リストを選択します。 デフォルトでは、アクティブな変更リストが選択されています。

    変更されたファイル ペインの下にある概要には、現在選択されている変更リストの統計(変更されたファイル数、新規ファイル数、削除されたファイル数など)が表示されます。 この領域には、各タイプのファイルがいくつ表示され、それらのうちいくつが保留されるかも示されます。

  3. コミットメッセージ: フィールドに、作成するシェルブの名前を入力します。

  4. 「差分」ペインでは、選択したファイルのベースリポジトリバージョンと、これからシェルブするバージョンの違いを調べることができます。

    項目

    ツールチップとショートカット

    説明

    the Previous Difference button/the Next Difference button

    前の違い / 次の違い Shift+F7 F7

    次または前の違いに移動します。

    最後または最初の違いに達すると、IntelliJ IDEA は、矢印ボタンをクリックするか、 F7/Shift+F7 をもう一度押して、ローカルで変更された他のファイルを比較することを提案します。 この動作は、 差分ビューアーの設定最後の変更の後に次のファイルに移動するオプションによって異なります。

    ソースへ移動ボタン

    ソースに移動(J)

    F4

    選択したファイルをエディターで開きます。 キャレットは 差分ビューアー と同じ位置に配置されます。

    戻る

    進む

    前 / 次のファイルを比較する

    Alt+Left Alt+Right

    これらのボタンをクリックして、前後のファイルのローカルコピーとサーバーからの更新を比較します。

    ビューアー

    ビューアーモードを選択します: 横並びまたは統合。 横並びモードには 2 つのパネルがあり、統合モードには 1 つのパネルがあります。

    コードを編集して、両方のビューアーで 変更の適用追加元に戻す アクションを実行できます。

    テキストを変更できるのは、横並びビューアーの右側部分、または統合ビューアーの行のみです。

    ファイルのローカルバージョンのみを編集できます。 読み取り専用ステータスのファイルは編集できません。

    空白

    差分ビューアーが空白をどのように扱うかを定義します。

    • 無視しない: 空白は重要であり、すべての違いがハイライトされています。 このオプションはデフォルトで選択されています。

    • 空白をトリム: 空白が行の最後と先頭にある場合は空白を削除します(("\t", " "))。

      • 2 行の末尾の空白のみが異なる場合、これらの行は等しいと見なされます。

      • 2 行が異なる場合、末尾の空白は 単語モードでハイライトされません。

    • 空白を無視: 空白は、ソースコード内の場所に関係なく、重要ではありません。

    • 空白と空行を無視: 空白と空行を無視します。 次のエンティティは無視されます。

      • すべての空白 (「ホワイトスペースを無視する」オプションのように)

      • 空白のみで構成される追加または削除されたすべての行

      • 空白以外の部分を変更せずに行を分割または結合するすべての変更。

        例: a b ca \n b c の違いは、このモードではハイライトされません。

    • インポートとフォーマットを無視: インポート文と空白の変更は無視されます(ただし、文字列リテラル内の空白は考慮されます)。

    ハイライトモード

    差分の粒度がハイライトされる方法を選択します。

    使用可能なオプションは以下のとおりです。

    • 変更された単語をハイライト: 変更された単語がハイライトされます

    • 変更行をハイライト: 変更された行がハイライトされます

    • 分割された変更をハイライト: このオプションを選択すると、大きな変更が小さな変更に分割されます。

      例: A \n B および A X \n B X は、1 つではなく 2 つの変更として扱われます。

    • 変更された文字をハイライト: 変更されたシンボルがハイライトされます

    • ハイライトしない: このオプションを選択した場合、違いはまったくハイライトされません。

      大幅に変更されたファイルを操作する場合は、 ハイライトしない オプションを使用します。 そのような場合、ハイライトすると、レビュー中にさらに困難が生じる可能性があります。

    「変更されていないフラグメントを折りたたむ」アイコン

    変更されていないフラグメントを折りたたむ

    両方のファイルで変更されていないすべての部分を折りたたみます。 折りたたむことのできない未変更行の数は、 差分とマージ の設定ページで設定できます。 差分とマージ ページを開くには、 Ctrl+Alt+S を押して設定を開き、 ツール | 差分 & マージ に移動します。 。

    スクロールの同期

    スクロールの同期

    両方の差分ペインを同時にスクロールします。 このボタンを放すと、各ペインを個別にスクロールできます。

    編集を無効にするアイコン

    編集を使用不可にする

    選択したファイルのローカルコピーの編集を有効化します(デフォルトで無効化されています)。編集を有効化すると、コミット前に変更されたファイルへ最終的な修正を加えられます。 編集を有効化すると、コミット前に変更されたファイルに最終的な修正を加えることができます。

    the Gear icon

    エディター設定

    利用可能なオプションのリストを開きます。 これらのオプションを選択またはクリアして、行番号、インデントガイド、空白、ソフトラップを表示または非表示にします。

    ヘルプアイコン

    ヘルプ

    F1

    ブラウザーを開き、対応するヘルプページを表示します。

    上記のオプションのほとんどはテキストファイルでのみ使用できます。 バイナリファイルでは、使用できる diff オプションの数が限られています。

  5. 変更をシェルフに退避 ボタンをクリックします。

変更をシェルフに退避 ダイアログを表示せずに、変更をサイレントにシェルフすることもできます。 これを行うには、シェルフするファイルまたは変更リストを選択し、ツールバーの Shelve silently確認なしでシェルフに退避 をクリックするか、 Ctrl+Shift+H を押します。 シェルフ名として、シェルフする変更を含む変更リストの名前が使用されます。

同じ名前のシェルフが多数存在することを避けるために (たとえば、 デフォルト など)、ファイルまたは変更リストを コミット タブから コミット ツールウィンドウの シェルフ タブにドラッグし、アクティブになるまで 1 秒ほど待ちます。マウスボタンを放した後、新しいシェルフ名を編集します。

変更をアンシェルブ

保留中の変更は、延期された変更をシェルブから保留中の変更リストに移動することです。 切り詰められていない変更は、ビューから除外したり、シェルフから削除することができます。

  1. シェルフ タブで、シェルフを解除する変更リストまたはファイルを選択します。

  2. Ctrl+Shift+U を押すか、選択項目のコンテキストメニューから アンシェルブ を選択します。

  3. 変更をアンシェルブ ダイアログで、保留されていない変更を復元する変更リストを 名前 フィールドに指定します。 リストから既存の変更リストを選択するか、作成する新しい変更リストの名前を入力できます。 新しい変更リストの説明を コメント フィールドに入力できます (オプション)。

    新しい変更リストをアクティブにする場合は、 アクティブにする を選択します。 それ以外の場合、現在アクティブな変更リストはアクティブのままです。

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

  5. シェルフ解除しようとしている変更を削除する場合は、 正常に適用されたファイルをシェルフから除去する オプションを選択します。 シェルフ解除されたファイルはこのシェルフから削除され、別の変更リストに追加され、適用済みとしてマークされます。 コンテキストメニューから 削除 を選択して明示的に削除するまで、完全には削除されません。

  6. OK をクリックします。 パッチされたバージョンと現在のバージョンの間で競合が発生した場合は、 Git の競合を解決する に記載されているとおりに解決してください。

変更をアンシェルブ ダイアログを表示せずに、変更をサイレントに解除することもできます。 これを行うには、解除するファイルまたは変更リストを選択し、ツールバーの the Unshelve Silently icon確認なしでアンシェルブ をクリックするか、 Ctrl+Alt+U を押します。 解除されたファイルは、アクティブな保留中の変更リストに移動されます。

ファイルまたは変更リストを「シェルフ 」タブから「コミット 」タブにドラッグして、サイレントにアンシェルブすることもできます。 Ctrl キーを押しながらドラッグすると、 コミット タブにコピーされますが、シェルフにも保持されます。

保留された変更を破棄

  1. シェルフ ビューで、保持したくない変更を含む変更リストを選択します。

  2. 変更リストを右クリックし、コンテキストメニューから 削除 を選択するか、 Delete を押します。

保留されていない変更を復元する

IntelliJ IDEA を使用すると、必要に応じてアンシェルブされた変更を再適用できます。 アンシェルブされたすべての変更は、コンテキストメニューから 削除 を選択して明示的に削除されるまで再利用できます。

  1. 表示 をクリックし、 すでにアンシェルブ済み オプションが すでにアンシェルブ済み 有効になっていることを確認します。

  2. 復元するファイルまたはシェルフを選択します。

  3. 選択のコンテキストメニューから 復元 を選択します。

外部パッチを適用する

IntelliJ IDEA の内部または外部に作成されたパッチをインポートして、保留変更として適用することができます。

  1. シェルフ ビューで、コンテキストメニューから パッチのインポート を選択します。

  2. 表示されたダイアログで、適用するパッチファイルを選択します。 選択したパッチが シェルフ タブにシェルフとして表示されます。

  3. パッチを適用して新しく追加されたシェルフを選択し、選択したコンテキストメニューから 変更をアンシェルブ を選択します。

ベースリビジョンの自動シェルフ

Git バージョン管理下にあるファイルの基本リビジョンを常にシェルブするように IntelliJ IDEA を構成すると便利な場合があります。

  1. Ctrl+Alt+S を押して設定を開き、 バージョン管理 | シェルフ を選択します。

  2. 分散バージョン管理システム下にあるファイルのシェルブベースリビジョン オプションを選択してください。

    このオプションが有効化されている場合、ファイルのベースリビジョンがシェルブに保存され、適用時に競合する場合は 3-way merge で使用されます。 無効な場合、IntelliJ IDEA はプロジェクトの履歴からベースリビジョンを探しますが、時間がかかることがあります。 さらに、競合するシェルフの基になったリビジョンが存在しない場合があります(たとえば、リベース操作の結果として履歴が変更された場合)。

デフォルトのシェルフの場所を変更する

デフォルトでは、シェルフディレクトリはプロジェクトディレクトリにあります。 ただし、デフォルトのシェルブの位置を変更したい場合があります。 これは、たとえば、作業コピーをクリーンアップするときに誤ってシェルフを削除しないようにしたい場合や、シェルフを別のリポジトリに保存してチームメンバー間でシェルフを共有できるようにしたい場合に便利です。

  1. Ctrl+Alt+S を押して設定を開き、 バージョン管理 | シェルフ を選択します。

  2. シェルブ先の変更 をクリックし、開いたダイアログで新しい場所を指定します。

  3. 必要に応じて、 退避済みの変更を新しい場所に移動 を選択して、既存のシェルフを新しいディレクトリに移動します。

未完成の作業を失うことなく、別のタスクに切り替えるためのシェルブからの恩恵を受ける方法に関するこのビデオチュートリアルを参照してください。

変更のスタッシュ

場合によっては、作業コピーを HEAD コミットと一致させるために元に戻す必要があるかもしれませんが、すでに行った作業を失いたくない場合があります。 これは、作業に関係する可能性のあるアップストリームの変更があることがわかった場合、または緊急の修正が必要な場合に発生する可能性があります。

スタッシュには、HEAD コミットと作業ディレクトリ(スタッシュ)の現在の状態との違いを記録することが含まれます。 インデックスへの変更も隠しておくことができます。

スタッシュ解除は、ブランチに格納されたスタッシュを適用することを含みます。

既存のブランチにスタッシュを適用するか、それに基づいて新しいブランチを作成することができます。

スタッシュは必要な回数だけ、必要なブランチで適用できます。必要な場合は、 目的のブランチへ切り替えて ください。 次の点にご注意ください:

  • 一連のコミット後にスタッシュを適用すると、解決する必要がある競合が発生します。

  • コミットされていない変更を含む作業コピーである、「ダーティ」な作業コピーにスタッシュを適用することはできません。

変更をスタッシュに保存する

  1. コミット ツールウィンドウ (Alt+0) で、右クリックしてコンテキストメニューを開き、 Git | 変更のスタッシュ を選択します。

    コンテキストメニューのスタッシュ変更オプション
  2. 開いている スタッシュ ダイアログで、適切な Git ルートを選択し、正しいブランチがチェックアウトされていることを確認します。

  3. メッセージ フィールドには、隠そうとしている変更を記述します。

  4. スタッシュのローカル変更を行い、検査およびテストのためにインデックスにステージングされた変更を作業ツリーに持ち込むには、 インデックスを保持する オプションを選択します。

  5. スタッシュの作成 をクリックします。

    スタッシュの変更は、同じ コミット ツールウィンドウ内の コミット タブの隣の スタッシュ タブに移動されます。

スタッシュの変更を確認し、スタッシュを適用する

  1. コミット ツールウィンドウ (Alt+0) で、 スタッシュ タブを開きます。

    スタッシュタブ
  2. スタッシュのリストから適用するスタッシュを選択します。

    スタッシュの変更を確認し、現在のバージョンのコードと比較するには、リストから任意のファイルをダブルクリックして、スタッシュの diff を開きます。

    差分タブ

    別のウィンドウで差分を開くには、差分ペインで the Gear icon設定 をクリックし、 別ウィンドウで差分を表示 を選択します。

    • 適用 をクリックすると、選択したスタッシュが適用され、リストに保持されます。

    • 選択したスタッシュを適用し、リストから削除するには、 ポップ をクリックします。

  3. 現在チェックアウトされているブランチに適用するのではなく、選択したスタッシュに基づいて新しいブランチを作成できます。

    スタッシュを右クリックしてコンテキストメニューを開き、 削除 を選択します。

    新規ブランチとして フィールドにそのブランチの名前を入力します。

    スタッシュインデックスの変更を適用するには、 インデックスを戻す オプションを選択します。

    スタッシュの適用 をクリックします。

スタッシュを削除するには、リストで選択し、右クリックしてコンテキストメニューを開き、 ドロップ を選択します。 すべてのスタッシュを削除するには、 クリア を選択します。

2026 年 3 月 30 日