AIツール活用

git worktreeとは?使い方とAIエージェントを並列で動かす方法

中島大介(なかじ)読了時間 約24分
git worktreeの使い方とAIエージェントの並列実行を解説する記事のアイキャッチ

Claude Codeにお問い合わせフォームの修正を頼んでいる間に、料金ページの表記修正も別のAIに進めてほしい場面があります。1つのフォルダで2つのAIを同時に動かすと、片方の書きかけの変更がもう片方の作業に混ざり、どちらの修正なのか見分けられなくなります。

混ざる原因はAIの性能ではなく、1つの作業フォルダを2つのAIで取り合っている状態です。この記事では、git worktreeの仕組みと基本コマンドやつまずきやすい点を押さえたうえで、Claude Code・Codexを並列で動かす手順と並列ツールの選び方を解説します。記事を読めば、2つの作業をAIに同時に任せる準備が整います。AIを並列で動かす土台は、作業1件ごとにworktreeを1つ用意することです。

git worktreeとは1つのリポジトリで作業フォルダを複数持てるGitの機能

git worktreeは、1つのリポジトリ(ファイルと変更履歴のまとまり)に作業フォルダを複数持たせるGitの標準機能です。Git 2.5から搭載されていて、追加のツールは要りません。git worktree公式ドキュメント、Git 2.5のリリースノート

git worktreeを理解するために押さえたい点は、以下の3つです。

  • ブランチを切り替えずに別の作業を同時に進められる
  • git worktreeとブランチ・cloneの違い
  • 同じブランチは2つのworktreeで同時に使えない

ブランチを切り替えずに別の作業を同時に進められる

git worktreeを使うと、ブランチごとに別の作業フォルダを開き、複数の作業を同時に進められます。通常のGitでは作業フォルダが1つしかないため、別のブランチへ移るたびに書きかけの変更のコミットか、一時的な退避(stash)が必要です。

Gitでは、最初からある作業フォルダを「main worktree」、増やした作業フォルダを「linked worktree」と呼びます。どちらも同じリポジトリの変更履歴を使うため、1つのフォルダで作ったコミットを別のフォルダからすぐに参照できる仕組みです。git worktree公式ドキュメント

AIエージェントにとっての利点は、AIごとに専用の作業フォルダを渡せることです。Claude Codeが編集するフォルダとCodexが編集するフォルダを分ければ、同時に動かしても書きかけのファイルは混ざりません。Claude Codeのworktreeドキュメント

git worktreeとブランチ・cloneの違い

ブランチは変更履歴の分かれ道で、worktreeはブランチを広げて作業する机にあたります。リポジトリを丸ごと複製するgit cloneでも作業フォルダは増やせますが、履歴の持ち方が異なります。

3つの方法の違いは、以下の表のとおりです。

項目ブランチの切り替えだけgit worktreegit cloneで複製
作業フォルダ1つの中身を入れ替えるブランチごとに増やせる複製ごとに増える
変更履歴(.git)1つ全フォルダで共有複製ごとに別々
同時の作業できないできるできる

同じブランチは2つのworktreeで同時に使えない

Gitは、ほかのworktreeで開いているブランチを新しいworktreeで開こうとすると、作成を断ります。ブランチは最新のコミットを指す1本の目印で、2つのフォルダから同時に進めると整合性が崩れるためです。git worktree公式ドキュメント、Codexのworktreeドキュメント

片方のフォルダでコミットするとブランチは先へ進みますが、もう片方のフォルダのファイルは古いまま残ります。古いファイルのままコミットすると、直前の変更を取り消してしまう恐れがあります。

回避策は、worktreeごとに新しいブランチを作ることです。中身を見るだけなら、git worktree add -d <フォルダ>でブランチに属さない状態(detached HEAD)のworktreeを作れます。--forceで制限を外すこともできますが、AIの並列作業では使わない運用が安全です。

git worktreeの基本コマンドと使い方

git worktreeの操作は、すべて「git worktree」に続くサブコマンドで行います。主なサブコマンドは、以下の表のとおりです。git worktree公式ドキュメント

コマンドできること
git worktree add新しい作業フォルダを作る
git worktree list作業フォルダの一覧を表示する
git worktree remove作業フォルダを削除する
git worktree prune手で消したフォルダの記録を掃除する
git worktree repair移動で切れた記録をつなぎ直す

日常の作業でよく使うのは、次の4つです。

  • git worktree addで作業フォルダとブランチを作る
  • git worktree listで作業フォルダの一覧を確認する
  • git worktree removeで終わった作業フォルダを片付ける
  • git worktree pruneで消えたフォルダの記録を掃除する

git worktree addで作業フォルダとブランチを作る

新しい作業を始めるときは、-bオプションでブランチと作業フォルダを同時に作ります。お問い合わせフォームの修正用にgit worktree add -b fix/contact-form ../site-contact-formを実行すると、今いるブランチの最新コミットを起点にブランチ「fix/contact-form」と作業フォルダ「site-contact-form」ができます。

git worktree addの主な書き方は、以下のとおりです。

  • 新しいブランチで始める: git worktree add -b <ブランチ名> <フォルダ>
  • 既存のブランチを開く: git worktree add <フォルダ> <ブランチ名>
  • フォルダ名と同じ名前のブランチを自動で作る: git worktree add <フォルダ>

作業フォルダは、元のリポジトリの外(隣のフォルダなど)に置くと管理しやすくなります。リポジトリの中に置くと、元のフォルダで未追跡のファイルとして表示されるためです。Claude Codeを使う場合は、Claude Codeがworktreeを作る.claude/worktrees/を.gitignoreに加えておきます。Claude Codeのworktreeドキュメント

git worktree listで作業フォルダの一覧を確認する

git worktree listを実行すると、作業フォルダの場所・最新コミット・ブランチ名が1行ずつ表示されます。AIを複数動かしているときに、どのフォルダがどのブランチかを確かめる基本の操作です。git worktree公式ドキュメント

git worktree removeで終わった作業フォルダを片付ける

作業が終わったworktreeは、git worktree remove ../site-contact-formのようにフォルダを指定して削除します。削除できるのは、変更も未追跡のファイルも残っていないworktreeだけです。コミットしていない変更があるとGitは削除を断り、変更を捨ててよい場合に限って--forceで削除できます。最初からある作業フォルダ(main worktree)は削除できません。git worktree公式ドキュメント

worktreeを削除しても、ブランチは残ります。マージ済みで不要になったブランチは、git branch -d fix/contact-formで別に削除しましょう。

git worktree pruneで消えたフォルダの記録を掃除する

Gitを通さずにworktreeのフォルダを消すと、リポジトリの中に記録だけが残ります。git worktree pruneは、フォルダがなくなったworktreeの記録を削除するコマンドです。worktreeの移動はgit worktree moveで行い、手で動かして記録が切れたときはgit worktree repairでつなぎ直します。git worktree公式ドキュメント

git worktreeでつまずきやすい注意点

git worktreeは作業フォルダを増やすだけの機能です。つまずきやすい点は、以下の4つです。

  • .envやnode_modulesは新しいworktreeに入っていない
  • 開発サーバーのポート番号がぶつかる
  • submoduleを使うリポジトリでは動作が不完全
  • worktreeはAIの操作範囲を制限しない

.envやnode_modulesは新しいworktreeに入っていない

新しいworktreeに入るのは、Gitで管理されているファイルだけです。.gitignoreで管理対象から外した.env(接続先やAPIキーを書く設定ファイル)やnode_modules(npm installで入る依存ライブラリ)は、元のフォルダにあってもコピーされません。

依存ライブラリは、作業フォルダごとにインストールし直します。.envは手でコピーするか、Claude Code・Codex・Orcaが対応する.worktreeincludeに対象を書き、worktreeの作成時に自動でコピーさせます。.worktreeincludeはGit本体ではなく各ツールの機能で、書式は.gitignoreと同じです。Claude Codeのworktreeドキュメント、Codexのworktreeドキュメント、Orcaのworktreeドキュメント

本番環境の認証情報を含む.envは、AI用のworktreeへコピーしない運用が安全です。コピーした数だけ、秘密の情報を置く場所が増えてしまいます。

開発サーバーのポート番号がぶつかる

2つのworktreeで開発サーバーを起動すると、同じポート番号(アプリを開く窓口の番号)を取り合います。1つのポート番号は1つのプログラムしか使えないので、2つ目の起動が失敗する場合があります。表示の確認を並べるときは、worktreeごとにポート番号を変えて起動しましょう。

submoduleを使うリポジトリでは動作が不完全

Gitの複数の作業フォルダの機能はまだ実験的な扱いで、submodule(別のリポジトリを部品として組み込む仕組み)への対応は不完全です。submoduleを含むリポジトリで複数のworktreeを作る使い方は推奨されていません。git worktree公式ドキュメント

worktreeはAIの操作範囲を制限しない

worktreeで分かれるのは作業ファイルだけで、AIがパソコンのほかのフォルダや外部のサービスにアクセスできる状態は変わりません。AIの操作確認の省略を既定にした並列ツールもあるため、AIに許可する操作の範囲は各AIの権限設定で決めます。VS Codeのworktreeに関する注意、Orcaの対応エージェントと権限

git worktreeでClaude Code・Codexを並列で動かす手順

例として、会社のWebサイトのリポジトリ「site」で2つの修正を同時に任せる場面を考えます。担当は、お問い合わせフォームの修正がClaude Code、料金ページの表記修正がCodexです。Claude CodeとCodexの始め方は、Claude Codeの使い方とCodex CLIの使い方で解説しています。

並列で動かす流れは、以下の2段階です。

  • 作業ごとにworktreeを作ってAIを起動する
  • AIの変更を確認してmainにまとめる

作業ごとにworktreeを作ってAIを起動する

AIを起動する前に、作業1件につき1つのworktreeを用意します。お問い合わせフォームと料金ページの2件を並べる手順は、以下のとおりです。

  1. siteフォルダでgit switch mainとgit pullを実行し、mainを最新の状態にそろえる
  2. git worktree add -b fix/contact-form ../site-contact-formでフォーム修正用のworktreeを作る
  3. git worktree add -b fix/pricing-text ../site-pricing-textで料金ページ用のworktreeを作る
  4. 1つ目のターミナルでcd ../site-contact-formを実行し、依存ライブラリと.envを用意してclaudeを起動する
  5. 2つ目のターミナルでcd ../site-pricing-textを実行し、同じ準備をしてcodexを起動する
  6. それぞれのAIに依頼を書き、作業を任せる

Claude Codeはsite-contact-formの中だけを、Codexはsite-pricing-textの中だけを編集するので、書きかけの変更は混ざりません。

AIの変更を確認してmainにまとめる

AIが作業を終えたら、各worktreeでgit diffを実行して変更点を確かめ、問題がなければworktreeの中でコミットします。mainへまとめるときは、チームでレビューを受けるならブランチをpushしてプルリクエストを作ります。1人で管理するリポジトリなら、siteフォルダでgit merge fix/contact-formとgit merge fix/pricing-textを順に実行すれば完了です。

2つのAIが同じファイルの同じ箇所を変えていた場合は、2本目のマージで衝突(コンフリクト)が起きます。衝突を避けるには、フォームと料金ページのように触るファイルが重ならない作業を組み合わせるのが近道です。まとめ終えたworktreeはgit worktree removeで削除し、ブランチもgit branch -dで片付けます。

同時に動かすAIの数は、人が差分を確認できる量に合わせて決めます。最初は2つの作業から始め、確認が追いつくと分かってから3つ目を足す進め方がおすすめです。

Claude Codeのworktree機能(--worktree)の使い方

Claude Codeには、worktreeを作ってからセッションを始める機能があります。主な使い方は、以下の3つです。

  • claude --worktreeでworktreeを作ってClaude Codeを起動する
  • 終了時にworktreeを残すか削除するかを選ぶ
  • サブエージェントも別々のworktreeで動かせる

claude --worktreeでworktreeを作ってClaude Codeを起動する

claude --worktree fix-contact-form(短縮形は-w)を実行すると、リポジトリ直下の.claude/worktrees/fix-contact-form/にworktreeができ、その中でClaude Codeが起動します。ブランチ名は「worktree-fix-contact-form」です。別のターミナルで名前を変えて同じコマンドを実行すれば、2つ目の独立したセッションを始められます。

新しいworktreeの起点は、既定ではリモートの既定ブランチ(通常はmain)です。Claude Codeのworktreeは既存のコミットから作るため、コミットが1つもないリポジトリでは使えません。

新しいworktreeには依存ライブラリや.envが入っていないため、Claude Codeにインストールを頼むか、.worktreeincludeを用意しておきましょう。デスクトップアプリでは、セッションの開始時にworktreeのオプションを選びます。Claude Codeのworktreeドキュメント、Claude Codeのよく使うワークフロー

終了時にworktreeを残すか削除するかを選ぶ

worktreeのセッションを終了すると、Claude Codeはworktreeに変更や新しいコミットが残っていないかを確認します。変更がなく名前も付けていないセッションなら、worktreeとブランチは自動で削除されます。変更が残っている場合に出るのは、worktreeを残すか削除するかの確認です。

残したworktreeに戻るときは、終了時に表示されるclaude --worktree <名前> --resumeを実行します。Claude Codeのworktreeドキュメント

サブエージェントも別々のworktreeで動かせる

Claude Codeが作業を分担させるサブエージェントも、それぞれ専用のworktreeで動かせます。会話の中で「エージェントごとにworktreeを使って」と頼むか、カスタムのサブエージェントの定義に「isolation: worktree」を書くと、専用のworktreeで動くようになります。Claude Codeのworktreeドキュメント

サブエージェントの基本を解説した記事は、Claude Codeのサブエージェントです。

AIエージェントを並列で動かすツールの選び方

git worktreeを手で使う方法のほかに、worktreeの作成をツールに任せる方法もあります。ツールの選び方と各ツールの特徴は、以下のとおりです。

  • 目的に合わせて並列ツールを選ぶ
  • CodexはChatGPTアプリでWorktreeを選ぶ
  • Orcaは作業ごとにworktreeを自動で作る
  • cmuxはworktreeを自分で組み立てるターミナル
  • OpenCodeなどほかのAIもworktreeで並列にできる

目的に合わせて並列ツールを選ぶ

並列ツールを選ぶときの分かれ目は、worktreeを誰が作り、複数のAIをどの画面で見るかです。主な方法の違いは、以下の表のとおりです。

方法worktreeを作るのは対応OS向いている人
git worktreeを手で使う自分Gitが動く環境自由に組み立てたい人
Claude Codeの--worktreeClaude CodeClaude Codeが動く環境Claude Codeだけで並列にしたい人
ChatGPTアプリのCodexCodexmacOS・Windows画面の操作でCodexを並列にしたい人
OrcaOrca(作業ごとに自動)macOS・Windows・Linux複数のAIを1つの画面で管理したい人
cmux自分かAImacOSターミナル中心で組み立てたい人

Claude CodeだけならClaude Codeの--worktree、CodexだけならChatGPTアプリのWorktreeで足ります。Claude CodeとCodexを混ぜて使い、進み具合を1つの画面で見たいならOrcaが候補です。Macでターミナル操作に慣れた人は、cmuxと手作業のworktreeの組み合わせも選べます。

CodexはChatGPTアプリでWorktreeを選ぶ

Codexのアプリは、2026年7月9日にmacOSとWindows向けのChatGPTデスクトップアプリへ統合されました。新しいチャットを始めるときに入力欄の下で「Worktree」を選び、起点のブランチを選ぶと、Codexがworktreeを作って作業します。Codexの手引き、Codexのworktreeドキュメント

Codexのworktreeはブランチに属さない状態(detached HEAD)で始まるため、試しに作ってもブランチは増えません。残したい変更は、チャット上部の「Create branch here」でブランチにできます。Codexが管理するworktreeは既定で新しい順に15個まで残り、古いものから自動で削除される設定です。Codexのworktreeドキュメント

WindowsでのCodexの導入は、CodexのWindowsアプリで解説しています。

Orcaは作業ごとにworktreeを自動で作る

Orcaは、複数のAIコーディングエージェントを並べて動かすための、無料でオープンソースのデスクトップアプリです。macOS・Windows・Linuxに対応し、作業1件ごとに専用のworktree・AIのターミナル・ブラウザのタブを自動で用意します。Orca公式ドキュメント

編集部が2026年9月26日にOrca v1.4.210で試したところ、リポジトリ名の横の「+」から「ワークツリーを作成する」画面を開き、作成元(main)・名前・起動するAIを選ぶだけでworktreeができました。Orcaのworktreeドキュメント

Orcaの仕組みはOrcaとはで、操作はOrcaの使い方で解説しています。導入を判断する材料はOrcaのメリット・デメリットに、エディタとの違いはOrcaとCursorの比較とOrcaとVS Codeの比較にまとめました。

cmuxはworktreeを自分で組み立てるターミナル

cmuxは、AIからの確認待ちを通知で知らせる、AIコーディングエージェント向けのmacOS用ターミナルです。cmuxにはworktreeを自動で作る機能がなく、開発元は「worktreeを全員に押し付けたくない」として今後も追加しない方針を示しています。worktreeは、自分で書いたスクリプトやAIへの依頼で作る前提です。cmuxのGitHub、cmux home

cmuxの機能はcmuxとはで、Orcaとの選び分けはcmuxとOrcaの違いで解説しています。

OpenCodeなどほかのAIもworktreeで並列にできる

git worktreeはGitの機能なので、Claude CodeやCodex以外のAIエージェントもworktreeのフォルダで起動すれば、編集をworktreeの中に収められます。

OpenCodeは、ターミナル・デスクトップアプリ・IDE拡張機能で使えるオープンソースのAIコーディングエージェントで、本体は無料です。同じプロジェクトで複数のエージェントを並行して動かす使い方にも対応しています。OpenCode公式サイト

OpenCodeの特徴はOpenCodeとはで、モデルの利用料を定額にするプランはOpenCode Goで解説しています。

git worktreeはAIエージェントを並列で動かす土台になる

git worktreeは、1つのリポジトリに作業フォルダを複数用意し、ブランチを切り替えずに別々の作業を同時に進めるGitの機能です。AIごとに専用のworktreeを渡せば、Claude CodeとCodexを同時に動かしても変更は混ざりません。

使い始める前に押さえたいのは、同じブランチを2つのworktreeで開けない点と、.envや依存ライブラリが新しいworktreeにない点です。

git worktreeを初めて試すときの手順は、以下のとおりです。

  1. 検証用のリポジトリでgit worktree add -bを使い、作業用のworktreeを2つ作る
  2. 各worktreeで依存ライブラリと.envを用意する
  3. 片方でClaude Code、もう片方でCodexを起動して、別々のファイルの修正を依頼する
  4. git diffで変更を確認し、mainへまとめてからgit worktree removeで片付ける

2つの作業を混ぜずに最後まで回せたら、Orcaなどの並列ツールで作業の数を増やしてみましょう。

この記事の監修者

中島大介(なかじ)

中島大介(なかじ)

株式会社メリル 代表取締役 / 記事監修

株式会社メリル代表取締役。SEO歴20年以上。最新AIやセキュリティについて発信するYouTube「ウェブ職TV」は登録者15万人以上。著書「ChatGPT & Copilotの教科書」は10万部突破!

プロフィールを見る

関連する記事

Gammaとは何か、使い方と料金を解説する記事のアイキャッチ
AIツール活用

Gamma(ガンマ)とは?使い方・料金と無料でできる範囲、パワポ書き出しも解説

Gammaでスライドを作りたい方は必見!この記事では、Gammaの使い方と料金、無料でできる範囲を解説します。実は、Gammaの無料プランは最初の400クレジットだけで、毎月は増えません。記事を読めば、仕事で使えるかを判断できます。

中島大介(なかじ)監修 / Touch AI編集部24 分で読めます
スライド作成AIのおすすめ7選を比較した記事のアイキャッチ
AIツール活用

スライド作成AIのおすすめ7選を比較!無料で使えるツールと選び方も解説

スライド作成を時短したい方は必見!この記事では、スライド作成AIのおすすめ7選と無料の範囲・選び方を解説します。実は、GammaとClaudeは無料でもPowerPoint形式のスライドを作れます。記事を読めば、自分に合う1つを選べます。

中島大介(なかじ)監修 / Touch AI編集部27 分で読めます

次のステップ

最新動向を学びに変える

話題のAIアップデートを、現役講師が背景と実務への影響まで解きほぐします。Touch AI の最新講座で、変化に追いつくための視点を得てください。

受講できる講座を見る