Claude Codeを使っていて、以下のように思うことはないでしょうか?
- 「Claude Codeで一つのタスクを実行中に、別のIssueでも並行して作業したい」
- 「複数のClaude Codeセッションを同時に動かして開発効率を最大化したい」
一つのタスクでClaude Codeが動いている間に、別のIssueでも作業を進められたら開発効率が大幅に向上するはずです。
しかし、通常のブランチ切り替えでは、ファイルの変更状態が混在してしまい、複数のIssueを並行して進めるのは困難でした。
そんな課題を解決すべく調べていたところ、Claude Codeの公式ドキュメントでGit Worktreeとの連携について知りました。実際に試してみたところ、開発効率がUPしました!
📋 本記事では、実際に使えるClaude Codeカスタムコマンドを2つ紹介します!
コピペするだけで、すぐに複数Issue同時進行の開発ができるようになります。
この記事で解決できること
✅ 複数のClaude Codeセッションの同時実行
✅ 複数Issueの完全分離された並行開発
✅ Claude Code活用による開発フローの自動化
事前準備
VS Codeのマーケットプレイスから「Git Worktree Manager」をインストールしてください。この拡張機能により、VS Code内でworktreeの作成・切り替え・削除を視覚的に管理できます。
実際の開発ワークフロー
1. 新しいIssueに着手する
まず、Issue用のworktreeを作成します:
💡 worktreeコマンドの定義
.claude/commands/worktree.md
ファイルを作成して以下をコピペしてください:
---
name: worktree
description: Git worktreeを使用して複数の作業を並行して管理
---
Git worktreeの操作を行います。引数に応じて以下の処理を実行してください。
## コマンド一覧
### add - 新規worktree作成
引数が "add issue番号>" の場合:
1. `gh issue view ` でIssueの内容を確認
2. Issue内容から適切なブランチ名を生成(形式: `feature/機能名#issue番号`)
3. worktreeディレクトリ名を生成(形式: `../project-issue-` )
4. `git worktree add -b ` で新規worktree作成
5. 作成完了メッセージを表示
### list - worktree一覧表示
引数が "list" の場合:
1. `git worktree list` で現在のworktree一覧を表示
2. 各worktreeのブランチ名と作業ディレクトリを見やすく表示
### remove - worktree削除
引数が "remove issue番号>" の場合:
1. 該当するworktreeを特定
2. `git worktree remove ` でworktree削除
3. 削除完了を確認
### status - 全worktreeの状態確認
引数が "status" の場合:
1. 各worktreeに対して以下を実行:
- 作業ディレクトリとブランチ名を表示
- `git status --short` で変更状態を表示
- 未コミットの変更がある場合は警告表示
このコマンドで以下が自動実行されます:
- Issue #123の内容を自動取得
- 適切なブランチ名を生成(例:
feature/add-user-auth#123
) -
../project-issue-123
ディレクトリに新しいworktreeを作成
2. VS Codeでworktreeを切り替え
- VS CodeのGit Worktree Managerパネルを開く
- 作成されたworktree(
../project-issue-123
)を選択 - 「Switch to Worktree」をクリック
- 新しいVS Codeウィンドウが開く
3. 開発を開始
新しいVS Codeウィンドウで開発フローを自動実行します:
💡 exec-issueコマンドの定義
.claude/commands/exec-issue.md
ファイルを作成して以下をコピペしてください:
---
name: exec-issue
description: Issueを解析し、ブランチ作成から実装、テスト、PR作成まで自動化された開発ワークフローを実行
---
gh issue view $ARGUMENTS で GitHub の Issue の内容を確認し、タスクの遂行を行なってください。
タスクは以下の手順で進めてください。
1. Issue に記載されている内容を理解する
2. main にチェックアウトし、pull を行い、最新のリモートの状態を取得する
3. Issue の内容を元に、適切な命名でブランチを作成、チェックアウトする。ブランチ名は `任意の文字列#$ARGUMENTS` とすること
4. Issue の内容を解決するための計画を立てる
5. Issue の内容を実現するために必要なタスクを遂行する
6. テストと Lint を実行し、すべてのテストが通ることを確認する
- 例: `npm test && npm run lint`
- プロジェクトに応じてテスト・Lintコマンドを調整してください
7. コミットを適切な粒度で作成する
8. 以下のルールに従って PR を作成する
- PR の description には以下のテンプレートを使用すること:
```
## issue番号
Closes #$ARGUMENTS
## 変更箇所
-
## 動作確認方法
-
---
## このPRでやっていないこと(あれば)
```
- PR は draft で作成すること
9. 作成した PR を自己レビューする
このコマンドで以下が自動実行されます:
- Issue内容の解析と計画立案
- 実装作業の実行
- テスト・Lintの実行
- コミット作成
- Draft PRの作成
- 自己レビューの実施
4. 複数Issueの並行作業
別のIssueに着手する場合:
claude worktree add 456
claude exec-issue 456
これにより、Issue #123とIssue #456でそれぞれ独立したClaude Codeセッションを同時実行でき、開発効率が大幅に向上します。
5. 作業状況の確認
各worktreeの変更状況や未コミット変更を一覧で確認できます。
6. 完了したworktreeの削除
Issue #123の作業が完了し、PRがマージされた場合:
claude worktree remove 123
メリット
1. Claude Codeセッションの並行実行
- 複数のworktreeで同時にClaude Codeを動かせる
- 一つのタスクの実行中に別のIssueで作業可能
- Claude Codeの処理能力を最大限活用
2. 完全分離された並行開発
- 各Issueが独立したworktreeで完全に分離される
- ファイル変更の混在やコンフリクトが発生しない
- 複数のIssueを同時進行で効率的に管理
3. コンテキストスイッチングの最小化
- 各Issueが独立したVS Codeウィンドウで管理される
- 作業コンテキストが完全に保持される
- ブランチ切り替えによるファイル変更の混乱がない
4. 視覚的な管理
- Git Worktree ManagerによるGUI操作
- 複数のClaude Codeセッションの状態が一目で把握可能
注意事項
1. リソース使用量
- 複数のworktreeは同じリポジトリのコピーを作成するため、ディスク容量を消費します
- 大きなリポジトリでは特に注意が必要です
2. 依存関係の管理
- Node.jsプロジェクトの場合、各worktreeで
npm install
が必要となる - パッケージの更新は各worktreeで個別に実行
3. データベースの状態
- データベースマイグレーションは全worktreeで共有されます
- 開発用データベースの状態管理に注意が必要
まとめ
Git Worktree、Claude Code、Git Worktree Managerを組み合わせることで、Claude Code並行実行による効率的な開発環境を構築できます。
特に以下のように感じている場合において、このワークフローは大きな効果を発揮します。
- Claude Codeで複数のタスクを並行実行したい場合
- 複数のClaude Codeセッションを同時に動かしたい場合
ぜひお試しください!
Views: 0