Claude CodeとGit worktreeで複数AIの並列作業を実演解説
Claude CodeのようなAIエージェントは、平気で30分、1時間と作業を続けます。終わるまで待っていられないので、複数のAIに同時に作業を任せたいところです。
しかし、1つのフォルダで複数のAIに作業させると、お互いの作業がぶつかります。
この記事では、Git worktreeでAIごとに作業フォルダを作って並列で作業させ、各AIの成果物を統合するまでの流れを、実際の画面で解説します。
GitやGitHub、リポジトリ、コミット、プッシュ、プルを理解している前提で進めます。まだの方は、先にGit・GitHubの初期設定と基本操作を解説した記事をご覧ください。
動画で見たい方はこちら。
Git worktreeで、AIごとに作業フォルダを分けられる

Git worktreeは、1つのリポジトリから複数の作業フォルダを作る仕組みです。1つのAIにつき1つの作業フォルダを用意すれば、AI同士の作業はぶつかりません。
ここからは、Git worktreeで実際に2つのAIを並列で動かしてみます。
実演用のリポジトリを作成
まずは実演用のリポジトリを用意します。フォルダの場所と名前は何でもよく、ぼくはデスクトップに git-wortkree フォルダを作りました。
ClaudeアプリでClaude Codeを開き、Opus 5.5の思考レベルを「高」にします。

作ったフォルダのパスを貼り付け、次のように指示すれば、フォルダがGitHubのプライベートリポジトリになります。
{フォルダのパス} このフォルダをGitHubのプライベートリポジトリとして管理して
ぼくは毎回AIにリポジトリ作成を指示するのが面倒なので、この作業をスクリプトにしています。スクリプトは、Claude Codeに次のように指示すればすぐに作れます。
フォルダのパスを受け取って、GitHubのプライベートリポジトリにするスクリプトを作って
リポジトリはまだ空なので、中身もClaude Codeに作ってもらいます。題材は何でも良いので、誰でもわかりやすい家計簿にしました。
架空の家計簿をマークダウンファイルで作成して
家計簿ができたら、GitHubにプッシュしておきます。
ブランチは、履歴を分岐させて作業を並列に進める仕組み

worktreeの前に、ブランチという言葉を押さえておきます。
リポジトリのコミット履歴は、最初は1本です。特定のコミットを起点に履歴を複数に分岐させることができ、分岐した1本1本の履歴をブランチ(枝)と呼びます。
たとえば、本番環境用の main ブランチから、機能追加用やバグ修正用の bug-fix ブランチを分岐させます。ブランチを分ければ、各作業は互いに影響を受けず、並列して進められます。
ブランチを分ければ、片方を直してももう片方は変わらない
実際に、実演用のリポジトリでもブランチを増やしてみます。現時点のブランチは main だけです。
GitHubのリポジトリ画面で、ブランチ名の main を押します。入力欄に fix と入力して「Create branch fix from main」を押すと、main から fix ブランチが作られます。

同じメニューで、fix と main を自由に切り替えられます。作ったばかりの fix は main と同じ内容で、差分はまだありません。
試しに、fix ブランチの家計簿をGitHub上で直してみます。冒頭の「2026年9月」を「2026年10月」に変更し、コミットメッセージは初期値のまま「Commit changes」を押しました。

fix では家計簿の冒頭が10月になり、main に切り替えると、何も直していないので9月のままです。ブランチが複数あれば、このように複数の作業を並列して進められます。

Git worktreeは、ブランチを入れた作業フォルダ

GitHubでブランチを増やしても、パソコンの実演用のリポジトリは main ブランチのままです。VS Codeで開くと、家計簿の冒頭も2026年9月から変わっていません。

1つのフォルダで使えるブランチは、一度に1つです。Git worktreeは、このブランチを入れた作業フォルダのことを意味します。
worktreeの作成は、スクリプトにすれば1コマンドで済む

worktreeを作る作業も、スクリプトにしておくと便利です。まず、worktree置き場として、デスクトップに git-workrees フォルダを作りました。
続けて、Claudeに次のように指示します。
現在のブランチから {worktree置き場のパス} にworktreeを作成するスクリプトを作成して。worktree名はユーザーが必須で指定する
この指示は、新しいブランチを作り、そのブランチを入れたフォルダをworktree置き場に作る作業を、1つのコマンドで済ませるという意味です。
Claude Codeは create-worktree.sh を作り、./create-worktree.sh <worktree名> で実行すると報告しました。

1回目は、GitHubにブランチが作られなかった
さっそく報告にあるコマンドをコピーし、Claudeアプリのターミナルで実行します。作成するworktree名は test にしました。

GitHubでブランチの一覧を確認すると、main と、ぼくが作った fix しかなく、test がありません。

今度はターミナルで、git branch と入力すると、パソコンのGitにあるブランチを表示できます。パソコン内には、 main と test がちゃんとありました。

worktree置き場の test フォルダにも、家計簿のファイルがあります。スクリプトに足りないのは、GitHubへの反映だけです。

GitHubにもworktreeのブランチを作成するよう追加指示
Claude Codeに、次のように追加で指示します。
worktreeのブランチはGitHubにも反映するようにして
修正が終わったら、再度worktree作成のスクリプトを試します。今度はworktree名を test2 にして実行しました。
スクリプト実行後にGitHubの画面を更新すると、今度はブランチの一覧に test2 がちゃんと出てきました。

パソコンのworktree置き場にも test2 フォルダができ、中に家計簿のファイルがあります。これでスクリプトは完成です。スクリプトはコミットして、GitHubにプッシュしておきます。
今回の失敗をふまえると、最初から以下のように指示すれば、期待通りのスクリプトになったはずです。
現在のブランチから {worktree置き場のパス} にworktreeを作成するスクリプトを作成して。worktree名はユーザーが必須で指定する。worktreeのブランチはGitHubにも反映するようにして
worktreeを分ければ、2つのAIが同時に作業してもぶつからない
いよいよ、worktreeを使って2つのAIに家計簿を直してもらいます。スクリプトで、money-fix と item-fix の2つのworktreeを作りました。

Claudeアプリで新しい会話を始め、item-fix のフォルダを開いて、次のように指示します。
固定費を金額の高い順に並べて
続いて、別の新しい会話で money-fix のフォルダを開き、次のように指示しました。
架空のサブスクの項目をもっと細分化して
左が money-fix、右が item-fix のAIで、別々のworktreeで同時に作業を進めます。今回は簡単な作業ですぐに終わりましたが、時間がかかっても作業フォルダが別々なので、お互いに影響しません。

作業が終わったら、プルリクエストで元のブランチにマージする

worktreeでの作業が終わったら、変更内容を元のブランチにマージします。マージとは、分岐したブランチの作業を、分岐元のブランチに統合することです。
プルリクエストは、マージ先とマージ元を選ぶだけで作れる
GitHubのリポジトリ画面で、上部の「Pull requests」を開きます。

続けて、右にある「New pull request」ボタンを押します。

並んだ2つのボタンのうち、「base」がマージ先、「compare」がマージ元です。マージ先は main のまま、マージ元に item-fix を選びます。

すると「There isn’t anything to compare.」と、差分がないと表示されました。worktreeでの変更を、まだGitHubにプッシュしていなかったからです。

プッシュはコマンドでもできますが、Claude Codeに任せます。2つの会話それぞれで、次のように指示しました。
コミットしてプッシュして
GitHubの画面を更新すると、変更内容が差分として表示され、「Able to merge.」とマージできることも示されます。「Create pull request」ボタンを押してプルリクエストを作ります。

プルリクエストは、その名のとおり、あるブランチを別のブランチにプルする(取り込む)依頼です。今回は、item-fix ブランチを main ブランチに取り込みます。
差分を確かめて問題がなければ、ボタン2つでマージ
プルリクエストの画面では、ブランチ同士の差分を見られます。AIの作業内容に問題がないかは、ここで確かめるのが一般的です。
上部の「Files changed」タブで差分を確かめ、問題がなければ下の「Merge pull request」ボタンを押します。

今回の差分では、固定費の行が金額の高い順に並び替わっています。緑の背景が追加した行、赤の背景が消した行です。

「Merge pull request」ボタンの次に表示される「Confirm merge」ボタンを押すと、マージが確定します。

「Merged」と表示され、item-fix が main にマージされました。

main ブランチの家計簿を開くと、固定費が金額の高い順に並んでいて、item-fix の変更が反映されています。

コンフリクトが起きても、解消はAIに任せられる
続けて、money-fix のプルリクエストも同じ手順で作ります。すると、Can’t automatically merge.(自動ではマージできない)という警告が出ました。

警告が出ても、プルリクエスト自体は作れます。作ったプルリクエストを見ると、「Merge pull request」ボタンが押せなくなり、「Resolve conflicts」ボタンが出ています。

コンフリクトとは、変更内容がぶつかっている状態です。先にマージした item-fix と今回の money-fix は、どちらも家計簿の固定費の表を直していました。
同じファイルの同じ行を別々に変更すると、GitHubは自動で統合できません。人が中身を見て、正しい内容になるよう手で直す必要があります。
「Resolve conflicts」ボタンを押すと、コンフリクトの画面が開きます。

コンフリクト画面では、どの変更がぶつかっているのかが示されます。
AIが登場するまで、コンフリクトの解消は面倒な作業でした。今は、AIに直してもらうだけで済みます。money-fix の会話で、次のように指示しました。
コンフリクトを解消して
すると、Claudeが正しくコンフリクトを解消してくれています。

プルリクエストの画面を更新すると、コンフリクトが解消して、「Merge pull request」ボタンが押せるようになりました。

あとは同じ手順でマージすれば、2つのworktreeの作業の main 取り込み完了です。
マージ後に残るブランチとworktreeは、まとめて削除する
マージを終えても、ブランチとworktreeは残ったままです。GitHubのブランチ一覧には、item-fix と money-fix の両方が残っています。

パソコンのworktree置き場にも、item-fix と money-fix のフォルダが残っています。

そこでぼくは、マージ、ブランチの削除、worktreeの削除を1回で済ませるスクリプトも、Claude Codeに作ってもらっています。
worktreeのブランチのマージ、ブランチの削除、worktreeの削除を実行するスクリプトを作成して
Claude Codeの標準機能でもworktreeは作れる
worktreeの作成は、Claude Codeの標準機能でもできます。Claudeアプリの入力欄の上にある「ワークツリー」にチェックを付けて指示すると、Claude Codeが自分でworktreeを作って作業します。

ぼく個人としては、自前のスクリプトの方が便利だと思っています。事前にプログラムの環境を立ち上げるなど、worktreeを作るときの処理を自由に組み込めるからです。
標準機能を使うか、自前のスクリプトを使うかは好みの問題です。どちらも試して、自分に合う方を使ってください。
まとめの前に、お知らせを。
公式LINEの友だち追加特典で、無料30分相談を受付中。オンライン(顔出し不要)で、AI活用のお困りごとに答えます。
友だち追加後、「相談」と送ると予約リンクが届きます。余裕がなくなったら締め切るので、お早めにどうぞ。
無料メルマガで実務で使えるAI活用を毎日配信中。1分で登録できます。
超実践AI論Substacktaichiaiworker.substack.com
まとめ:AIごとにworktreeを分け、複数作業を同時に進める
この記事の要点は次の4つです。
- AIに並列で作業させるときは、作業の数だけworktreeを用意し、各worktreeにAIを1つずつ割り当てる
- worktreeの作業が終わったら、プルリクエストで差分を確かめ、元のブランチにマージする
- 同じ箇所を直してコンフリクトが起きても、解消はAIに任せられる
- worktreeの作成・削除の流れは、スクリプトにしておくと便利
ぜひあなたも、Git Worktreeで複数のAIを同時に動かしてみてください。より多くの仕事を効率よくこなせるようになります。
この記事をシェア
関連記事

パスワード管理アプリ1Password徹底解説。1割以上安く使う方法も
パスワードの使い回しは、1社から情報が流出しただけで、ほかのサービスまで不正アクセスされる危険があります。ぼくが5年以上使っているパスワード管理アプリ1Passwordの安全性と便利な機能、公式より1割以上安く契約する方法を解説します。

AIのミスを取り消せるGit・GitHub入門。設定はClaude Code任せ
AIのミスを取り消したり、複数の作業を同時に任せたりするには、変更履歴を残すGitとGitHubが欠かせません。Claude Codeへの指示で初期設定を済ませ、変更履歴をパソコンとGitHubに保存する基本操作までを解説します。
