Claude Code を2〜3個同時に走らせる|git worktree で並列開発する海外流儀

#Claude Code#git#開発効率#AI
※本ページはプロモーションが含まれています
Claude Code を2〜3個同時に走らせる|git worktree で並列開発する海外流儀

📝 はじめに

Claude Code を毎日使っている海外エンジニアに聞くと、意外と多い返事が「同時に 2〜3 個起動している」というもの。X や Reddit の Claude Code コミュニティでは常識化しつつあるこの使い方が、日本語圏ではほとんど語られていません

「え? 1 つのプロジェクトで Claude Code を複数起動したら、ファイルの取り合いでカオスにならない?」と思いますよね。その通りで、1 つのディレクトリで並列起動するのは事故の元です。

そこで登場するのが git worktree です。

この記事では、git worktree を使って Claude Code を複数並列で走らせる 海外流儀のワークフロー を、セットアップから運用のコツまで紹介します。

Advertisement

AD SPACE

📝 git worktree とは?

git worktree は、1 つのリポジトリから複数のワーキングディレクトリを生成できる Git 標準機能です。Git 2.5 から使えるのに、日本語の解説記事が少なくマイナー扱いされがちな機能でもあります。

通常の git checkout との違いを表にすると分かりやすいです。

項目git checkoutgit worktree
ディレクトリ同じ場所で切り替え別ディレクトリに展開
同時作業できない(切り替えが必要)複数ブランチを同時に開ける
.git リポジトリ1 つ共有(容量が増えない)
stash の必要性ありなし

イメージとしてはこんな感じ。

my-project/              ← main ブランチ(本体)
my-project-refactor/     ← refactor ブランチ(worktree)
my-project-bugfix/       ← bugfix ブランチ(worktree)

1 つのリポジトリから 3 つの「作業場所」が生えている 状態です。Git はこれらをまとめて管理してくれます。

📝 なぜ Claude Code と相性がいいのか

Claude Code は 1 つのタスクを実行している間、基本的に 他の作業は止まります 。リファクタのように時間がかかる作業を投げたら、終わるまで待つしかありません。

ここで別の worktree を用意して、そこで 別の Claude Code を起動 すれば:

  • メイン: 長時間かかるリファクタを任せる
  • worktree A: その間に新機能の実装を進める
  • worktree B: 別の緊急バグ修正をサクッと片付ける

という 3 並列 が実現します。しかもそれぞれ別ブランチなので、作業が混ざる心配はゼロ。

「AI に待たされる時間」を「別の AI に働かせる時間」に変える ——これが並列化の本質です。

Advertisement

AD SPACE

📝 実際のセットアップ手順

🔹 1. worktree を追加する

メインのプロジェクトディレクトリで、追加したいブランチを worktree として展開します。

# 既存のブランチを worktree として開く
git worktree add ../my-project-refactor refactor

# 新しいブランチを同時に作って worktree として開く
git worktree add -b feature/new-login ../my-project-login

これで my-project/ の隣に my-project-refactor/my-project-login/ が生成されます。リポジトリのクローンではない ので、容量もほとんど食いません(.git は共有)。

🔹 2. それぞれで Claude Code を起動

ターミナルを 3 つ(あるいは tmux のペインを 3 つ)開き、各 worktree で claude を起動します。

# ターミナル 1(メイン)
cd my-project
claude

# ターミナル 2(リファクタ用)
cd ../my-project-refactor
claude

# ターミナル 3(新機能用)
cd ../my-project-login
claude

3 つのターミナルで独立した Claude Code が走ります。各 Claude は自分の worktree のファイルしか見えない ので、指示が混ざることはありません。

🔹 3. 使い終わったら片付ける

# worktree を削除(ブランチは残る)
git worktree remove ../my-project-refactor

# 強制削除(未コミットの変更がある場合)
git worktree remove --force ../my-project-refactor

# 現在の worktree 一覧を確認
git worktree list

worktree を消してもブランチ自体は残るので、後から再度 worktree add で復活させることもできます。

Advertisement

AD SPACE

📝 運用スタイルの例

実際に私がやっている使い分けです。

worktree用途Claude Code への指示例
main機能実装「〇〇機能を実装して」
refactor継続リファクタ「このファイルを責務ごとに分割して」
bugfix緊急バグ修正「Issue #123 のバグを直して」
docsドキュメント整備「README を最新の構成に合わせて更新して」

それぞれの Claude は自分の context しか持たない ので、指示も履歴も完全に分離されます。

🔹 特に効くシーン

  • レビュー待ちの時間:PR を出してレビュー待ちの間、別 worktree で次のタスクに着手
  • 長時間タスク:巨大ファイルのリファクタを 1 つに任せ、別 worktree で小さい修正を進める
  • A/B 実験:同じ機能を 2 つの方針で実装してみて、良い方を採用する
  • 緊急割り込み:機能実装中に緊急バグが来ても、main の worktree で即対応できる(作業中のブランチを中断しなくていい)

📝 注意点・ハマりポイント

🔹 node_modules と .env は worktree ごとに必要

Git 管理外のファイル(node_modules/.env 、ビルド成果物など)は worktree ごとにセットアップが必要 です。

cd ../my-project-refactor
npm install          # node_modules を作る
cp ../my-project/.env .env   # .env をコピー

ディスク容量は食いますが、それぞれ独立していることが逆に安全でもあります。pnpm を使っていれば node_modules が実質シンボリックリンクなのでほぼノーコストです。

🔹 同じブランチを 2 つの worktree で開けない

main ブランチを 2 つの worktree でチェックアウトすることはできません(Git の制約)。並列化したい場合は、それぞれ別のブランチ を用意しましょう。

🔹 worktree の場所はリポジトリの外が無難

my-project/my-project-refactor/ のように リポジトリの中に作ると.gitignore に追加しない限り自分自身の変更として見えてしまいます。リポジトリの 親ディレクトリに並べる のが一般的です。

workspace/
├── my-project/           ← 本体
├── my-project-refactor/  ← worktree
└── my-project-bugfix/    ← worktree

🔹 Claude Code 間の情報共有はできない

それぞれの worktree で起動した Claude Code は完全に独立しているので、「別 worktree で何をやったか」は共有されません 。全体の進捗は自分で把握する必要があります。

ここは将来的に CLAUDE.md の共通化や、MCP サーバー経由での状態共有などで解決できそうな領域です。

Advertisement

AD SPACE

📝 実例:この記事を書いているときの状況

ちなみにこの記事を書いている今、私は Claude Code を 2 つ起動しています。

  • メイン:この記事の執筆
  • worktree:別記事のサムネイル画像を一括リサイズするスクリプトを書かせている

記事を書きながら、裏で画像処理が終わるのを待つ必要がない。これが並列化の価値 です。作業時間が物理的に 2 倍近くになる感覚があります。

📝 さいごに

git worktree × Claude Code は、一度味わうと元に戻れない 生産性ブーストです。特に Claude Code は「AI の作業待ち」が頻繁に発生するツールなので、その間に別の仕事を走らせられる意味は本当に大きいです。

日本ではまだほとんど紹介されていませんが、海外の Claude Code ヘビーユーザーは 当たり前のように並列化しています 。「自分は Claude Code を使いこなしてる」と思っている人ほど、ぜひ一度試してみてください。1 個しか動かしていないのは、本当にもったいない です。

次回は Claude Code Hooks でガードレールを作る 話を書く予定です。AI の暴走を物理的に止める仕組みで、これも日本語記事がほぼ無い領域。お楽しみに。

Advertisement