2026年4月6日

Claude Code git worktreeで並列開発を加速する完全ガイド【2026年最新】:--worktreeフラグ・subagent連携・クリーンアップまで徹底解説

Claude Code git worktreeで並列開発を加速する完全ガイド【2026年最新】:--worktreeフラグ・subagent連携・クリーンアップまで徹底解説

室谷室谷代表取締役
今回はgit worktreeの話をしましょう。これ、Claude Codeのユーザーでも意外と使ってない人が多いんですよね・・・
テキトー教師テキトー教師DotAI 認定講師
.AI(ドットエーアイ)のコミュニティのメンバーさんからも「並列で作業したいけどどうするの?」っていう質問が結構来ますね。git worktreeの存在は知っていても、Claude Codeと組み合わせてどう使うかがわからない、という方が多い印象です。
室谷室谷代表取締役
MYUUUでも全プロジェクトでworktreeを使ってますが、導入前と後で開発スピードが体感で倍くらい変わりました。特に「フィーチャー開発しながらバグ修正も走らせる」っていうパターンが当たり前になってきて。
テキトー教師テキトー教師DotAI 認定講師
講座で教えていて気づいたんですが、worktreeを使うと「コードが衝突する心配なく複数タスクを並列で進められる」って感覚が掴めたとき、受講生さんの開発の仕方が一気に変わるんですよ。それまでは直列でしか考えられなかったのに。
室谷室谷代表取締役
まさに。git worktreeは「同じリポジトリから複数の作業ディレクトリを作る」仕組みなんですよね。

それをClaude Codeが--worktreeフラグで直接サポートするようになって、使い方がかなりシンプルになった。

git worktreeとは?Claude Codeでなぜ重要か

テキトー教師テキトー教師DotAI 認定講師
改めて整理すると、git worktreeはGit標準の機能で、1つのリポジトリから複数の「作業ツリー」を同時に展開できる仕組みです。通常、1つのリポジトリでは1つのブランチしか同時にチェックアウトできませんが、worktreeを使うと複数のブランチを別々のディレクトリで同時に扱えます。
室谷室谷代表取締役
Claude Codeの文脈で言うと、これが「並列セッション」の基盤になるんですよね。複数のClaude Codeセッションを同じリポジトリで走らせるとき、それぞれが同じファイルを同時に変更しようとして衝突する・・・という問題がworktreeで解決される。
テキトー教師テキトー教師DotAI 認定講師
コミュニティのメンバーさんがよくやってしまうのが、同じディレクトリで2つのClaude Codeを起動してしまうパターンなんですよ。「片方がAPIを書いて、もう片方がフロントを書けば速いんじゃ?」という発想なんですが、同じファイルを両方が編集しようとして壊れるリスクがある。
室谷室谷代表取締役
worktreeを使えば、それぞれのClaudeセッションが完全に独立したディレクトリで作業するので衝突しないんですよね。リポジトリの履歴は共有されているので、後でブランチをマージすればいい。

--worktreeフラグの使い方

Claude Code公式ドキュメントのgit worktree解説ページ。--worktreeフラグの使い方とコマンド例が記載されている(公式サイトより)

室谷室谷代表取締役
Claude Codeの--worktreeフラグは、実行するだけでworktreeの作成とClaudeの起動を一括でやってくれます。コマンドはシンプルで、こんな感じです。
bash
# "feature-auth"という名前のworktreeを作成し、Claude Codeを起動
claude --worktree feature-auth

# 別のworktreeで別のセッションを起動(別ターミナルで)
claude --worktree bugfix-123
テキトー教師テキトー教師DotAI 認定講師
この--worktree feature-authで渡した名前が、そのままworktreeのディレクトリ名とブランチ名になるんですよね。整理するとこういう構造になります。
要素内容
作成される場所<リポジトリルート>/.claude/worktrees/feature-auth/
ブランチ名worktree-feature-auth
ベースブランチリモートのデフォルトブランチ(origin/HEADが指す先)
室谷室谷代表取締役
名前を省略すると自動でランダムな名前が付くんですよ。claude --worktreeだけで実行すると、bright-running-foxみたいな感じで。

複数タスクを素早く立ち上げたいときに便利です。
テキトー教師テキトー教師DotAI 認定講師
ベースブランチの話は重要で、origin/HEADがリモートのデフォルトブランチを指しています。たとえばGitHubでデフォルトブランチをmainから別のブランチに変更した場合、ローカルの参照が古いままになることがある。

そのときは以下のコマンドで同期できます。
bash
# リモートのデフォルトブランチに合わせて origin/HEAD を更新
git remote set-head origin -a
室谷室谷代表取締役
これ、地味に詰まるポイントなんですよね。worktreeを作ったら意図しない古いブランチから派生してた・・・というケース、MYUUUでも最初の頃にありました。

並列作業の実践パターン:フィーチャー開発とバグ修正を同時に

git worktreeによる並列開発のアーキテクチャ図。メインリポジトリから2つのworktreeが独立して分岐している構造

テキトー教師テキトー教師DotAI 認定講師
実際にどう使うかを見ていきましょう。一番よくあるのが、フィーチャー開発とバグ修正を並列で進めるパターンです。
室谷室谷代表取締役
ターミナルを2つ開いて、それぞれでclaude --worktreeを叩く、というだけですね。手順はこうなります。
bash
# ターミナル1: フィーチャー開発用のworktreeで起動
claude --worktree feature-user-profile

# ターミナル2: バグ修正用のworktreeで起動(別ウィンドウ・別タブで)
claude --worktree bugfix-login-error
テキトー教師テキトー教師DotAI 認定講師
この状態で、2つのClaudeが完全に独立した作業ディレクトリで同時に動いています。片方のClaudeがsrc/components/UserProfile.tsxを編集しても、もう片方の作業には一切影響しない。
室谷室谷代表取締役
これがないと、たとえばフィーチャー開発中に緊急のバグ報告が来たとき「今作業中のコードをstashしてブランチ切り替えて・・・」という手間が発生するんですよね。worktreeがあれば別ディレクトリで普通に作業できる。
テキトー教師テキトー教師DotAI 認定講師
受講生さんに説明するとき「gitのstash地獄から解放される」って言うと反応がいいです(笑)。stashは便利ですが、大きな変更を抱えている途中でのブランチ切り替えはメンタル的に重いので。
室谷室谷代表取締役
わかりますw MYUUUのエンジニアも「worktree使い始めてからstashをほとんどしなくなった」って言ってましたね。

subagentとworktreeの組み合わせ

室谷室谷代表取締役
さらに発展した使い方として、subagentのworktree分離があります。Claude Codeに「worktreeを使って並列で作業して」とお願いするか、カスタムsubagentのフロントマターにisolation: worktreeを設定するだけです。
テキトー教師テキトー教師DotAI 認定講師
これが結構強力で、1つのClaudeセッションの中で複数のsubagentがそれぞれ独立したworktreeで並列作業できるんですよね。orchestratorとなるClaudeが全体を管理して、各subagentが自分のworktreeで担当タスクをこなす。
室谷室谷代表取締役
このツイートでも書いたんですが、Chrome MCPでデザイントークン抽出、git worktreeで並列ビルド、自動マージ、という組み合わせが実際に動くんですよね。個々のツールは誰でも使えますが、「どう組み合わせるか」のアーキテクチャを設計できるかどうかが差になる。
テキトー教師テキトー教師DotAI 認定講師
subagentのworktreeは作業が終わって変更がなければ自動的にクリーンアップされるので、後片付けの手間もないです。この自動化は地味ですが、実務でかなり助かります。

.worktreeincludeで.envファイルをコピーする

Claude Code公式ドキュメントの.worktreeincludeセクション。.envや.env.localを自動コピーする設定方法が説明されている(公式サイトより)

テキトー教師テキトー教師DotAI 認定講師
実際に使い始めると必ず直面するのが「worktreeに.envが入っていない」問題です。worktreeは新規チェックアウトなので、.gitignoreに含まれているファイル(.envや.env.localなど)が引き継がれないんですよ。
室谷室谷代表取締役
これ、最初は手動でコピーしてたんですが、公式で.worktreeincludeというファイルを使う仕組みが用意されているんですよね。
テキトー教師テキトー教師DotAI 認定講師
.worktreeincludeをプロジェクトルートに置いて、コピーしたいファイルを書くだけです。.gitignoreと同じ書き方なので直感的にわかります。
code
# .worktreeinclude の例
.env
.env.local
config/secrets.json
室谷室谷代表取締役
.gitignoreに含まれていて、かつ.worktreeincludeにマッチするファイルだけがコピーされる仕組みです。トラッキングされているファイルは重複コピーされないので、誤って上書きする心配もない。
テキトー教師テキトー教師DotAI 認定講師
--worktreeフラグで作成したworktree、subagentのworktree、デスクトップアプリの並列セッション、全てにこの設定が効くので、一度設定したら全部解決します。

worktreeのクリーンアップと管理

室谷室谷代表取締役
worktreeを使い終わったあとの管理も整理しておきましょう。Claude Codeを終了したとき、変更の有無でふるまいが変わります。
テキトー教師テキトー教師DotAI 認定講師
整理するとこういう動作になります。
状態Claude Codeの動作
変更なしworktreeとブランチを自動削除
変更あり・コミットあり保持するか削除するかを確認
クラッシュで中断(変更なし、未プッシュコミットなし)次回起動時に自動削除
室谷室谷代表取締役
「保持」を選んだ場合は.claude/worktrees/にそのまま残るので、後からclaude --worktree feature-authで再開できます。セッションの再開についてはClaude Codeのセッション管理記事でも詳しく解説しています。
テキトー教師テキトー教師DotAI 認定講師
Gitコマンドで手動管理したい場合は直接git worktreeコマンドを使います。Claude Codeの--worktreeフラグを使わず、自分でworktreeを作ってからClaudeをそのディレクトリで起動する方法も有効です。
bash
# Gitで直接worktreeを作成する場合
git worktree add ../project-feature-a -b feature-a
git worktree add ../project-bugfix bugfix-123

# 作成したworktreeでClaudeを起動
cd ../project-feature-a && claude

# 一覧の確認
git worktree list

# 手動削除
git worktree remove ../project-feature-a
室谷室谷代表取締役
.claude/worktrees/以外の場所にworktreeを作りたい場合や、特定のブランチからチェックアウトしたい場合は、Gitコマンドの方が柔軟性があります。Claude Codeの--worktreeフラグは「デフォルトブランチから新規ブランチを作って起動」に特化している形ですね。
テキトー教師テキトー教師DotAI 認定講師
.gitignore.claude/worktrees/を追加しておくと、メインリポジトリでworktreeの内容がuntracked filesとして見えなくなるので整理されます。これも実務でやっておきたいポイントです。

subagentとagent teamsとworktree、どう使い分けるか

テキトー教師テキトー教師DotAI 認定講師
ここまで来ると「subagentとagent teamsとgit worktree、何が違うの?」という疑問が出てきますね。整理するとこういう使い分けになります。
アプローチ向いているケース
git worktree(手動並列)自分で複数セッションを管理したい、独立したタスク
subagent + worktree1セッション内でClaudeにworktree管理を任せたい
agent teams複数のClaudeインスタンスが相互にメッセージを送り合って協調したい複雑なタスク
室谷室谷代表取締役
agent teamsはまだ実験的機能(環境変数CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMSの設定が必要)で、subagentとの違いは「エージェント同士が直接通信できるかどうか」なんですよね。worktreeはどちらでも使える基盤技術という位置付け。
テキトー教師テキトー教師DotAI 認定講師
講座で教えていて思うのは、「まず--worktreeフラグで手動並列に慣れてから、subagentのworktree分離に進む」というステップが定着しやすいですね。agent teamsはトークン消費が多いので、本当に複雑な協調作業が必要なときだけ使うイメージです。
室谷室谷代表取締役
経営的な視点から言うと、並列実行はそのままコスト増にもなります。単純な順序処理なら直列でいい、並列化で得られるスピードがコスト増を上回るかを考える・・・という感覚を持つと実務で判断に迷わなくなります。

よくあるトラブルと解決策

テキトー教師テキトー教師DotAI 認定講師
最後に、実際に使ってみてよく詰まるポイントをまとめておきます。
室谷室谷代表取締役
一番多いのが「worktreeを作ったら意図しないブランチから派生した」ですね。これはorigin/HEADの参照が古いのが原因なので、git remote set-head origin -aで解決できます。
テキトー教師テキトー教師DotAI 認定講師
あとは「worktreeで.envが使えない」は.worktreeincludeファイルを設置すれば解決。それと「worktreeを削除しようとしたらエラーになる」は、そのworktreeで変更済みのファイルが残っているときに出るエラーです。
室谷室谷代表取締役
そのときはgit worktree remove --forceで強制削除できますが、未保存の変更が消えるので注意が必要ですね。
テキトー教師テキトー教師DotAI 認定講師
よくあるエラーをまとめるとこうなります。
エラー・症状原因解決策
意図しないブランチから派生origin/HEADが古いgit remote set-head origin -a
worktreeに.envがないgitignoreファイルはコピーされない.worktreeincludeに追記
worktree削除エラー変更済みファイルが残っているgit worktree remove --force
subagentのworktreeが残っているクラッシュ・中断次回起動時に自動削除(または手動でgit worktree remove

よくある質問(FAQ)

Q: git worktreeはGitの標準機能ですか?Claude Code専用ですか?

テキトー教師テキトー教師DotAI 認定講師
git worktree自体はGit 2.5以降に標準搭載されている機能です。Claude Codeの--worktreeフラグは、このGit標準機能をClaude Codeから便利に使えるようにしたものです。

Gitコマンドでworktreeを作り、そのディレクトリでClaudeを起動する方法でも同じことができます。

Q: worktreeのブランチはどこから派生しますか?

室谷室谷代表取締役
origin/HEADが指すリモートのデフォルトブランチから派生します。maindevelopがデフォルトになっているリポジトリならそこから。

GitHubでデフォルトブランチを変更した場合はgit remote set-head origin -aで同期が必要です。

Q: Claude Code Desktopでもworktreeは使えますか?

テキトー教師テキトー教師DotAI 認定講師
使えます。Desktop版では並列セッションをUIで管理でき、.worktreeincludeも効きます。

CLI版と同じ仕組みが動いているので、コマンドとの互換性もあります。

Q: worktreeと通常のブランチ切り替えの違いは?

室谷室谷代表取締役
通常のブランチ切り替え(git checkoutgit switch)は同じディレクトリで別のブランチに切り替えるので、現在の作業内容を一度stashするか捨てる必要があります。worktreeは物理的に別のディレクトリに同じリポジトリの別ブランチを展開するので、2つの作業を同時に進められます。

まとめ:Claude Codeでのgit worktree活用はこれだけ覚えれば十分

室谷室谷代表取締役
今回カバーした内容をまとめると、Claude Codeのgit worktree活用のポイントはシンプルです。
テキトー教師テキトー教師DotAI 認定講師
整理するとこうなります。
  • claude --worktree <名前> で隔離されたworktreeを作成してClaudeを起動
  • 名前省略で自動命名(claude --worktreeのみ)
  • .worktreeincludeを使って.envなどのgitignoreファイルを自動コピー
  • subagentのworktree分離はフロントマターのisolation: worktreeまたはプロンプトで指定
  • 終了時の挙動は変更あり/なしで異なる(変更なし→自動削除、変更あり→確認)
  • Gitコマンドによる手動管理も組み合わせられる
  • .gitignore.claude/worktrees/を追記してリポジトリを整理する
室谷室谷代表取締役
最初の一歩はclaude --worktree feature-authを打つだけ。これで並列開発の世界に入れますし、慣れてきたらsubagentと組み合わせて自動化する・・・という順番で覚えていくと自然です。
テキトー教師テキトー教師DotAI 認定講師
git worktreeを使いこなせると、Claude Codeのサブエージェント機能並列実行完全ガイドと組み合わせた本格的な並列開発の土台になります。まずは--worktreeフラグを試してみてください。

あわせて読みたい

Related

関連記事

New Articles

新着記事

ニュース

WSJ報道:AI大手が『減速』で一致、何が変わる

2026年9月13日
室谷テキトー教師
ニュース

アンソロピックCEO「技術は全員のもの」CNN発言の真意

2026年9月13日
室谷テキトー教師
ニュース

OpenAI、今年のIPO否定とAI絶滅リスク発言

2026年9月13日
室谷テキトー教師
ニュース

OpenAI、訓練中エージェントがRubyGemsに到達

2026年9月12日
室谷テキトー教師
ニュース

OpenAIの数学「解決」発表に数学者ら反発

2026年9月12日
室谷テキトー教師
ニュース

WSJ、暴走AIスウォームのサイバー攻撃を報道

2026年9月12日
室谷テキトー教師
ニュース

OpenAIとGSA、政府向けOneGov契約を発表

2026年9月11日
室谷テキトー教師
ニュース

Anthropic研究者がAI危険性警告、マスク氏「サイオプ」

2026年9月11日
室谷テキトー教師
ニュース

OpenAI、GPT-6 Astra発表 ベンチ最高水準

2026年9月11日
室谷テキトー教師
ニュース

Anthropic研究者がNYTに警鐘、AI加速は人類への脅威

2026年9月10日
室谷テキトー教師

Join

AIプレナーになる。

入会は審査制です。いまの事業と、AIで何を動かしたいのかを聞かせてください。

参加を申請する