GoLand 2026.2 Help

Git ワークツリーを使用する

標準的な Git リポジトリは通常、単一のワークツリーを使用します。 この設定でブランチを切り替えるには、未完了の作業を コミットまたは スタッシュする必要があります。 Git ワークツリーを使うと、複数のブランチを別々のディレクトリで同時にチェックアウトでき、すべてが単一の .git ディレクトリにリンクされます。

Git ワークツリーとは?

Git ワークツリーでは、同じリポジトリの複数のブランチを別々のディレクトリで同時にチェックアウトできます。 Git ワークツリーの主なユースケースは次のとおりです:

  • AI 主導の開発:ローカルの未保存変更を上書きしないように、AI エージェントを別々のワークツリーで実行します。

  • 緊急バグ修正:現在の進捗を妨げずに、別のディレクトリで重大な問題に対応します。

  • 並列コードレビュー:既存の環境やデータベース状態、ビルド成果物を妨げずに、プルリクエストやマージリクエストをローカルでチェックアウトしてテストします。

  • 長時間実行タスク:1つのワークツリーで重いテストスイートや複雑なビルドを実行し、別のワークツリーでコードを書き続けることができます。

  • マルチブランチのコンテキスト切り替え:変更をスタッシュしたり、ブランチ切り替え後に多数のファイルの再インデックスを待ったりせずに、複数の長期運用ブランチを管理できます。

Git ワークツリーは、プロジェクトのリンクされたコピーです。 git clone ではリポジトリの完全な複製が作成されますが、すべてのワークツリーは同じ中央の .git 履歴を共有します。

ワークツリーを作成すると、Git はファイル用の新しいディレクトリを生成する 完全な .git フォルダーではなく、このディレクトリにはオリジナルのリポジトリを示すプレーンテキストのパスを含む .git ファイルが格納されます。 これにより、独立した作業環境を維持しつつ、すべてのワークツリーが同期された状態に保たれます。

メインワークツリーの Git フォルダーとリンクされたワークツリー内の Git ファイル

Git ワークツリーの詳細については、 公式の Git ドキュメントを参照してください。

Git ワークツリーの作成と管理

すでに複数の Git ワークツリーがプロジェクトにある場合、 ワークツリー タブはデフォルトで利用できます。 それ以外の場合は、 Git ツールウィンドウ Alt+9 で、 下ボタン​ をクリックし、 ワークツリー を選択して開けます。

Worktrees タブを開くオプション付きの Git ツールウィンドウ

Git ワークツリーを作成する

  1. Git ツールウィンドウ Alt+9 で、 ワークツリー タブを開き、 新規ワークツリー をクリックします。

    または、メインメニューで Git|新規ワークツリー を選択します。

    これで 新規ワークツリー ダイアログが開きます。

    新規ワークツリーダイアログ
  2. 新規ワークツリー ダイアログで、次の内容を指定します:

    • 元のブランチ :ソースブランチを選択します。

      同じブランチを複数のワークツリーで同時にチェックアウトすることはできませんのでご注意ください。 現在チェックアウト中のブランチを新しいワークツリーのソースとして使いたい場合は、そこからローカルブランチを作成し新しいワークツリーで使用できます。 その場合は、 新規ブランチ オプションを選択してください。

    • 命名プロジェクト名 :新しいワークツリーの命名。

    • ロケーション :ワークツリーを保存するディレクトリ。

      ワークツリーの入れ子状態は避けてください:現在のプロジェクトディレクトリ内(たとえば Projects/mainProject/linkedWorktree など)にワークツリーを作成することは推奨されません。 現在、GoLand はこのようなプロジェクトをマルチルートプロジェクトとして誤認識し、ワークツリー統合が壊れてしまいます。

新しいワークツリーを作成すると、GoLand が別プロジェクトとして開きます。

異なるワークツリー間で切り替える

ワークツリーが最初に開かれた後は、他のプロジェクトと同じように扱われます。 メインメニューまたはウィンドウヘッダーのツールバー内のプロジェクトウィジェットで 最近のプロジェクト から見つけることができます。

GoLand 以外で作成したものも含めてワークツリーに切り替えるには、次の手順を行ってください:

  1. Git ツールウィンドウ Alt+9 で、 ワークツリー タブを開きます。

    または、メインメニューで Git|ワークツリー を選択します。

  2. ターゲットワークツリーをダブルクリックします。

    複数のワークツリーを表示する Git ツールウィンドウの Worktrees タブ

    システム設定により、ワークツリーは新しいウィンドウまたは既存のウィンドウで開かれます。

デフォルトでは、 ワークツリー タブにアクティブなワークツリーのステータスは表示されません。 ワークツリーが特定の状態になった場合のみ、ステータスインジケーターがリストに表示されます:

  • ロック中 :外部でロックされたため、ワークツリーの移動、 削除 、または クリーンアップができません。

  • クリーンアップ可能 :ワークツリーディレクトリがファイルシステムから手動で削除されました。 これらの記録は、リポジトリをクリーンアップするために安全に クリーンアップできます。

ワークツリーを削除する

ワークツリーを削除する前に、すべての変更をコミット済みであることを確認してください。

  1. Git ツールウィンドウ Alt+9 で、 ワークツリー タブを開きます。

    または、メインメニューで Git|ワークツリー を選択します。

  2. ワークツリーを選択し、 削除 をクリックします。

ワークツリーをクリーンアップ

ワークツリーディレクトリを IDE で ワークツリーを削除せずに手動で消した場合、Git はファイルが存在しないことを検知してワークツリーに クリーンアップ可能 とマークします。 クリーンアップ処理によって、存在しないワークツリーの内部 Git 記録が削除され、関連付けられたブランチが解放されます。

  1. Git ツールウィンドウ Alt+9 で、 ワークツリー タブを開きます。

    または、メインメニューで Git|ワークツリー を選択します。

  2. クリーンアップ をクリックします。

トラブルシューティング

GoLand では別々のワークツリーを同じプロジェクトとして扱う

この現象は .idea/workspace.xml ファイルがリポジトリにコミットされた場合に発生することがあります。 このファイルが固有の ProjectId を含むため、新たな Git ワークツリー作成時にその ID も複製されます。 その結果、IDE は同一の ID に混乱し、両方のディレクトリをひとつのプロジェクトとして誤認識します。

解決方法:

  1. GoLand でプロジェクトを閉じます。

  2. Git ワークツリーディレクトリに移動し、 workspace.xml ファイルを削除します(あるいは、そのファイルを開いて ProjectId 行だけ削除します)。

  3. IDE でプロジェクトを再度開くことで、固有で新しい ID を生成することができます。

再発防止のため、 .idea/workspace.xml をリポジトリの .gitignore ファイルに追加してください。

2026 年 7 月 14 日