Git ワークツリーを使用する
標準的な Git リポジトリでは、通常、単一のワークツリーが使用されます。 この設定でブランチを切り替えるには、未完了の作業を コミットするか、 スタッシュを実行する必要があります。 Git ワークツリーでは、複数のブランチを別々のディレクトリに同時にチェックアウトすることができ、それらはすべて単一の .git ディレクトリにリンクされます。
Git ワークツリーとは何ですか?
Git ワークツリーを使用すると、同じリポジトリの複数のブランチを別々のディレクトリに同時にチェックアウトできます。 Git ワークツリーの一般的な使用例は次のとおりです。
AI を活用した開発: ローカルに保存されていない変更が上書きされないように、AI エージェントを別のワークツリーで実行します。
緊急バグ修正: 現在の作業を中断することなく、別のディレクトリで重大な問題を解決します。
並行コードレビュー: 既存の環境、データベースの状態、ビルドアーティファクトに影響を与えることなく、プルリクエストとマージリクエストをローカルでチェックアウトおよびテストできます。
長時間実行されるタスク: 1 つのワークツリーで大規模なテストスイートや複雑なビルドを実行しながら、別のワークツリーでコードの記述を続けます。
マルチブランチコンテキスト切り替え: スタッシュの変更や、ブランチ切り替え後の大量のファイルの再インデックスを待つことなく、複数の長時間実行されるブランチを管理します。
Git ワークツリーは、プロジェクトのリンクされたコピーです。 リポジトリの完全な複製を作成する git clone とは異なり、すべてのワークツリーは同じ中央の .git 履歴を共有します。
ワークツリーを作成すると、Git はファイル用の新しいディレクトリを生成します。 このディレクトリには、完全な .git フォルダーではなく、元のリポジトリへのプレーンテキストパスを含む .git ファイルが格納されます。 これにより、独立した作業環境を維持しながら、すべてのワークツリーが同期された状態を保つことができます。

Git ワークツリーの詳細については、 公式の Git ドキュメント(英語)を参照してください。
Git ワークツリーの作成と管理
プロジェクトにすでに複数の Git ワークツリーが存在する場合、 ワークツリー タブはデフォルトで表示されます。 そうでない場合は、 をクリックして ワークツリー を選択することで、 Git ツールウィンドウ Alt+9 内で開くことができます。

Git ワークツリーを作成する
Git ツールウィンドウ Alt+9 で、 ワークツリー タブを開き、
新しいワークツリー をクリックします。
あるいは、メインメニューで を選択します。
これにより、 新しいワークツリー ダイアログが開きます。

新しいワークツリー ダイアログで、以下を指定します。
ブランチより: ソースブランチを選択してください。
同じブランチを 2 つのワークツリーで同時にチェックアウトすることはできませんのでご注意ください。 現在チェックアウトされているブランチを新しいワークツリーのソースとして使用したい場合は、そこから別のローカルブランチを作成し、新しいワークツリーで使用できます。 そのためには、 新規ブランチ オプションを選択してください。
プロジェクト名: 新しいワークツリーの名前。
ロケーション.: ワークツリーが保存されるディレクトリ。
ワークツリーの入れ子は避けてください。現在のプロジェクトのディレクトリ内にワークツリーを作成することは推奨されません(例:
Projects/mainProject/linkedWorktree)。 現在、JetBrains Rider はそのようなプロジェクトをマルチルートプロジェクトとして誤認識し、ワークツリーの連携が正しく動作しなくなります。
新しいワークツリーを作成すると、JetBrains Rider はそれを別のプロジェクトとして開きます。
異なるワークツリーを切り替える
ワークツリーは一度開くと、他のプロジェクトと同様に動作します。 メインメニューの「最近のプロジェクト 」またはウィンドウヘッダーのツールバーにあるプロジェクトウィジェットからアクセスできます。
JetBrains Rider 以外で作成されたものも含め、ワークツリーに切り替えるには、次の手順を実行してください:
Git ツールウィンドウ Alt+9 で、 ワークツリー タブを開きます。
あるいは、メインメニューで を選択します。
対象のワークツリーをダブルクリックします。

ワークツリーは、システム設定に応じて、新規ウィンドウまたは既存のウィンドウで開きます。
デフォルトでは、 ワークツリー タブにはアクティブなワークツリーのステータスは表示されません。 ワークツリーが特定の状態になった場合のみ、ステータスインジケーターがリストに表示されます:
ワークツリーを削除する
ワークツリーを削除する前に、すべての変更がコミットされていることを確認してください。
Git ツールウィンドウ Alt+9 で、 ワークツリー タブを開きます。
あるいは、メインメニューで を選択します。
ワークツリーを選択し、
削除 をクリックします。
ワークツリーをクリーンアップする
ワークツリーディレクトリを IDE で ワークツリーを削除するのではなく手動で削除した場合、Git はファイルが無いことを検出し、ワークツリーを クリーンアップ可能 としてマークします。 クリーンアップ操作を行うと、Git の内部記録から見つからないワークツリーが削除され、それらに紐づいたブランチも解放されます。
Git ツールウィンドウ Alt+9 で、 ワークツリー タブを開きます。
あるいは、メインメニューで を選択します。
クリーンアップ をクリックします。
トラブルシューティング
- JetBrains Rider は個別のワークツリーを同じプロジェクトとして扱います
これは、 ファイルがリポジトリにコミットされた場合に発生する可能性があります。 このファイルにはユニークな
ProjectIdが含まれているため、新しい Git ワークツリーを作成すると、その ID が重複してしまいます。 その結果、IDE は同じ ID に混乱し、両方のディレクトリを同じプロジェクトとして誤って扱います。修正方法:
JetBrains Rider でプロジェクトを閉じます。
Git ワークツリーディレクトリに移動し、
workspace.xmlファイルを削除してください(またはファイルを開き、ProjectId行のみを削除してください)。IDE でプロジェクトを再度開き、新しいユニークな ID を生成するようにしてください。
この問題が再発しないように、 がリポジトリの
.gitignoreファイルに追加されていることを確認してください。