Claude Code × Git Worktree|並列開発で安全にブランチ分離する方法

  • 2026年3月17日
  • 最終更新: 2026年5月5日
claude-code-git-worktree
この記事の結論

Git Worktreeは、Claude Codeの並列開発能力を安全に引き出すための基盤技術です。物理的なディレクトリ分離により、複数エージェントの同時作業でもファイル競合が発生しません。

ブログ目次

記事の内容を、そのまま実務に落とし込みたい方向け

HubSpot導入、AI活用、CRM整備、業務効率化までをまとめて支援しています。記事で気になったテーマを、そのまま相談ベースで整理できます。


Claude CodeはGit Worktreeを自動的に活用し、メインの作業ディレクトリを汚さずに別ブランチでの開発を並列実行できます。 複数のAIエージェントが同時に異なる機能を開発する場合や、レビュー中のPRとは別の作業を進めたい場合に、ワークツリーによるブランチ分離が安全性と生産性を両立します。


この記事でわかること

Git Worktreeを活用してClaude Codeでの並列開発を効率化したい開発者に向けた記事です。

  • Git Worktreeの基本概念と、Claude Codeが自動的にワークツリーを活用する仕組み — ClaudeCodeには、ワークツリーを自動的に作成・管理する機能が組み込まれています。
  • 複数エージェントによる並列開発を安全に実行するための設定と運用方法 — ワークツリーの配置場所には、プロジェクトの外に置くパターンとプロジェクト内に置くパターンがあります。
  • SDKとの連携で、大規模な並列タスクを効率的に処理するパターン — 大規模なプロジェクトでは、複数のClaudeCodeインスタンスが同時に異なる機能を開発するケースがあります。

Git Worktreeとは

Git Worktreeは、1つのGitリポジトリから複数の作業ディレクトリ(ワークツリー)を作成する機能です。通常、Gitリポジトリには1つの作業ディレクトリしかありませんが、git worktree addコマンドで別のディレクトリに別ブランチをチェックアウトできます。

従来のブランチ切り替えとの違い

操作 従来(git checkout Git Worktree
ブランチ切り替え 作業ディレクトリの中身が置き換わる 別ディレクトリに新しいブランチが展開される
未コミットの変更 stashまたはコミットが必要 そのまま残せる
同時作業 1ブランチのみ 複数ブランチを同時に操作可能
ファイル競合リスク ブランチ切り替え時に発生しうる ディレクトリが分離しているため発生しない

Claude Codeのようなエージェントが複数同時に動く環境では、ワークツリーによる物理的なディレクトリ分離が必須です。同じディレクトリで複数のエージェントがファイルを変更すると、意図しない上書きが発生します。


Claude Codeでのワークツリー自動活用

Claude Codeには、ワークツリーを自動的に作成・管理する機能が組み込まれています。

自動ワークツリー作成

Claude Codeで新しいブランチを作成して作業を始める場合、エージェントが自動的にワークツリーを作成します。複数のClaude Codeインスタンスで並列実行する際にも、各タスクが独立したワークツリーで実行されます。

メインディレクトリ: ~/project/
├── .git/                    ← 共有のGitオブジェクトDB
├── src/                     ← mainブランチの作業ディレクトリ
└── ...

ワークツリー: ~/project/.worktrees/feature-auth/
├── src/                     ← feature-authブランチの作業ディレクトリ
└── ...

ワークツリー: ~/project/.worktrees/fix-bug-123/
├── src/                     ← fix-bug-123ブランチの作業ディレクトリ
└── ...

手動でのワークツリー管理

Claude Codeのセッション中に、手動でワークツリーを操作することも可能です。

# 新しいワークツリーを作成

**git worktree add ../.worktrees/feature-new-api feature-new-api**
git worktree add ../.worktrees/feature-new-api feature-new-api

# ワークツリーの一覧を確認
git worktree list

# 不要になったワークツリーを削除
git worktree remove ../.worktrees/feature-new-api

Claude Codeに「feature-new-apiブランチでワークツリーを作成して、そこでAPI実装を進めてください」と指示すれば、上記のコマンドを自動で実行します。


実務での活用パターン

パターン1: 複数エージェントによる機能並列開発

大規模なプロジェクトでは、複数のClaude Codeインスタンスが同時に異なる機能を開発するケースがあります。

エージェントA: feature-auth ブランチ(認証機能実装)
  → ワークツリー: .worktrees/feature-auth/

エージェントB: feature-dashboard ブランチ(ダッシュボード実装)
  → ワークツリー: .worktrees/feature-dashboard/

エージェントC: fix-performance ブランチ(パフォーマンス改善)
  → ワークツリー: .worktrees/fix-performance/

各エージェントは物理的に別のディレクトリで作業するため、ファイルの競合が発生しません。それぞれが独立してコミット・プッシュ・PR作成まで完結できます。

Anthropicの公開事例では、複数のAIエージェントが並列でコード変更を行う際にワークツリーを活用し、マージ競合の発生率を大幅に低減しています。

パターン2: レビュー中の作業と新規開発の分離

PRのレビュー待ちの間に別の作業を進めたい場合に有効です。

# 現在の作業をPRとして提出
git push origin feature-current
gh pr create --title "機能A実装"

# 別のワークツリーで新しい作業を開始
git worktree add ../.worktrees/feature-next -b feature-next
cd ../.worktrees/feature-next

Claude Codeに「現在のブランチのPRを作成してから、新しいワークツリーで次の機能開発に着手してください」と指示すれば、このフローを自動で実行します。レビューの修正指摘が来たら、元のワークツリーに戻って対応できます。Claude Codeを使った経営データの可視化コンテンツマーケティングにも、こうした考え方が活かされています。

パターン3: SDK経由での並列タスク実行

Claude Code SDKを使えば、複数のタスクを並列で実行できます。各タスクは独立したワークツリーで実行されるため、タスク間の干渉を気にする必要がありません。

SDK経由で3タスクを並列実行:
  タスク1: 「テストを追加」 → .worktrees/task-1/
  タスク2: 「ドキュメント更新」 → .worktrees/task-2/
  タスク3: 「リファクタリング」 → .worktrees/task-3/

各タスクが完了すると、それぞれ独立したPRが作成されます。レビューとマージは個別に進められます。


ワークツリーの設定とベストプラクティス

ディレクトリ構成の推奨パターン

ワークツリーの配置場所には、プロジェクトの外に置くパターンとプロジェクト内に置くパターンがあります。

配置パターン パス例 メリット デメリット
プロジェクト外 ../project-worktrees/feature/ IDEの検索対象に含まれない パスが長くなる
プロジェクト内 .worktrees/feature/ 管理しやすい .gitignoreに追加が必要
隠しディレクトリ ~/.claude-worktrees/project/feature/ 完全に分離 プロジェクトとの距離が遠い

Claude Codeのデフォルトでは、プロジェクト内の.worktrees/ディレクトリにワークツリーが作成されます。.gitignore.worktrees/を追加しておくことを推奨します。

クリーンアップの自動化

長期間運用していると、マージ済みブランチのワークツリーが残り続けます。定期的なクリーンアップが必要です。

# マージ済みワークツリーの一覧確認
git worktree list

# 不要なワークツリーを削除
git worktree remove .worktrees/feature-completed

# 残骸の一括クリーンアップ
git worktree prune

Claude Codeに「マージ済みブランチのワークツリーをクリーンアップしてください」と指示すれば、上記の操作を安全に実行します。

注意点: ワークツリー間での共有リソース

ワークツリーは独立したディレクトリですが、.gitオブジェクトデータベースは共有しています。以下の点に注意してください。

  • node_modules.venvはワークツリーごとに独立して存在するため、各ワークツリーでnpm installpip installが必要です
  • .envファイルはGit管理外のため、ワークツリーには自動的にコピーされません。手動でコピーするか、シンボリックリンクを設定してください
  • ロックファイル(package-lock.jsonpoetry.lock)はブランチごとに異なる可能性があるため、ワークツリー作成後に依存関係の再インストールを推奨します

関連コマンドとの組み合わせ

SDK経由での並列実行

Claude Code SDKを使えば、プログラムから複数のワークツリーを作成し、並列でタスクを実行できます。

import { claude } from "@anthropic-ai/claude-code";

const tasks = [
  { branch: "feature-auth", prompt: "認証機能を実装してください" },
  { branch: "feature-api", prompt: "REST APIを実装してください" },
];

const results = await Promise.all(
  tasks.map((task) =>
    claude({
      prompt: task.prompt,
      options: {
        maxTurns: 30,
        cwd: `/path/to/project/.worktrees/${task.branch}`,
      },
    })
  )
);

パーミッションモードとの関係

ワークツリーでの作業は、メインディレクトリと同じパーミッション設定が適用されます。.claude/settings.jsonはメインリポジトリの設定が共有されるため、ワークツリーごとに権限を変える必要はありません。


あわせて読みたい


まとめ

Git Worktreeは、Claude Codeの並列開発能力を安全に引き出すための基盤技術です。物理的なディレクトリ分離により、複数エージェントの同時作業でもファイル競合が発生しません。

押さえておきたいポイントは以下の通りです。

  • SDKとの組み合わせで、大規模な並列タスク処理も実現できます
  • まずはレビュー待ちの間に別作業を進めるパターンから始め、チームの開発フローに合わせて並列度を拡大していくのが実務的なアプローチです
  • *Claude Codeの全コマンド一覧はClaude Codeチートシートをご覧ください
  • AI活用の全体像はAI活用完全ガイドで解説しています

よくある質問(FAQ)

Q1. ワークツリーを使うとディスク容量は2倍必要ですか?

いいえ、Gitのオブジェクトデータベース(.git/)は全ワークツリーで共有されるため、リポジトリの履歴データは重複しません。増えるのは作業ディレクトリのファイル(ソースコード、node_modulesなど)のみです。ソースコード自体のサイズは通常小さいため、実質的な増加はnode_modulesなどの依存関係が主です。

Q2. ワークツリーでの変更が他のワークツリーに影響することはありますか?

ファイルシステム上は完全に分離されているため、あるワークツリーでの変更が別のワークツリーのファイルに影響することはありません。ただし、同じブランチを複数のワークツリーで同時にチェックアウトすることはGitの仕様上できません。各ワークツリーは異なるブランチを担当する必要があります。

Q3. Claude Codeが自動作成したワークツリーはどこに保存されますか?

Claude Codeのデフォルト設定では、プロジェクトルートの.worktrees/ディレクトリ配下に作成されます。git worktree listコマンドで全ワークツリーの場所を確認できます。不要になったワークツリーはgit worktree removeで削除するか、Claude Codeに「ワークツリーをクリーンアップしてください」と指示してください。


株式会社StartLinkは、事業推進に関わる「販売促進」「DXによる業務効率化(ERP/CRM/SFA/MAの導入)」などのご相談を受け付けております。 サービスのプランについてのご相談/お見積もり依頼や、ノウハウのお問い合わせについては、無料のお問い合わせページより、お気軽にご連絡くださいませ。

関連キーワード:

サービス資料を無料DL

著者情報

7-1

今枝 拓海 / Takumi Imaeda

株式会社StartLink 代表取締役。累計150社以上のHubSpotプロジェクト支援実績を持ち、Claude CodeやHubSpotを軸にしたAI活用支援・経営基盤AXのコンサルティング事業を展開。
HubSpotのトップパートナー企業や大手人材グループにて、エンタープライズCRM戦略策定・AI戦略ディレクションを経験した後、StartLinkを創業。現在はCRM×AIエージェントによる経営管理支援を専門とする。