入門
Worktree で並行作業を安全に行う
Git worktree を使って複数の Claude Code セッションを独立して並行実行する方法
worktreeparallelgit
Worktree で並行作業を安全に行う
複数のタスクを同時に進めたい場合、Git worktree を使うと各 Claude Code セッションに独立したコードベースのコピーを提供でき、ファイルの競合を防げます。
Worktree の起動
# 名前付きワークツリー
claude --worktree feature-auth
claude -w feature-auth
# ランダム名のワークツリー
claude --worktree
claude -w
並行作業の構成例
複数のターミナルを開き、それぞれ別のワークツリーで Claude Code を起動します。
Terminal 1: claude # メイン開発
Terminal 2: claude -w feature-auth # 認証機能の実装
Terminal 3: claude -w bugfix-456 # バグ修正
各ワークツリーは以下の性質を持ちます。
- 独立したファイル状態とブランチ -- 他のセッションの変更に影響されない
- 共有のリポジトリ履歴 -- git log や git remote は共通
- 競合の防止 -- 複数の Claude インスタンス間でファイルの上書きが起きない
サブエージェントでの Worktree 分離
カスタムエージェント定義で isolation: worktree を設定すると、サブエージェントが自動的に独立したワークツリーで実行されます。変更がない場合は自動的にクリーンアップされます。
# .claude/agents/researcher.md
---
name: researcher
description: "Code research and analysis"
isolation: worktree
---
エージェントチームでの活用
エージェントチーム機能でも、チームメイトにワークツリーを使用するよう指示できます。チームメイトのエージェント定義に isolation: worktree を設定するか、チームリーダーから指示を出します。
Worktree の注意点
- 変更をメインブランチにマージするには、通常の Git 操作(PR作成やマージ)を使用
- 不要になったワークツリーは
git worktree removeで削除 - ブランチ名はわかりやすい名前にする(
feature-xxx,fix-xxxなど)
いつ Worktree を使うべきか
| シチュエーション | Worktree の必要性 |
|---|---|
| 1つのタスクに集中 | 不要(通常セッションで十分) |
| 2つの独立した機能を同時開発 | 推奨 |
| バグ修正と新機能開発を並行 | 推奨 |
| 複数人で同じリポジトリを編集 | 必須に近い |
あわせて読む
- 並列サブエージェントディスパッチ - エージェントの並列実行テクニック
- セッションの再開と継続を活用する - 作業の継続方法
関連コンテンツ
ワークフロー
フェーズ4: 実装
計画に基づいてコードを記述するフェーズ。TDD、サブエージェント駆動開発、並列実行などの手法を活用し、品質と効率を両立させる手法を解説。
Tips
エージェントチームで大規模タスクを並列遂行する
TeamCreate, TaskCreate, SendMessage を使って、複数の独立セッションで協調動作するエージェントチームを構築する方法
Tips
サブエージェントを並列でスポーンしてタスクを分散する
Agent ツールと TodoWrite を組み合わせて、独立したタスクを複数のサブエージェントに並列分散する方法
ワークフロー
フェーズ3: 計画
調査結果をもとに実装計画を策定するフェーズ。タスクの分解、依存関係の整理、実行順序の決定を体系化し、手戻りリスクを最小化する手法を解説。