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)。 現在、PyCharm はこのようなプロジェクトをマルチルートプロジェクトとして誤認識し、ワークツリーの統合が機能しなくなります。
新しいワークツリーを作成すると、PyCharm はそれを別のプロジェクトとして開きます。
異なるワークツリーを切り替える
ワークツリーは一度開くと、他のプロジェクトと同様に動作します。 メインメニューの「最近のプロジェクト 」またはウィンドウヘッダーのツールバーにあるプロジェクトウィジェットからアクセスできます。
PyCharm 以外で作成されたものも含め、ワークツリーに切り替えるには、次の手順を実行してください:
Gitサポート ツールウィンドウ Alt+9 で、 ワークツリー タブを開きます。
あるいは、メインメニューで を選択します。
対象のワークツリーをダブルクリックします。

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