情報確認日:2026年10月15日
Claude Codeのworktreeは、同じGitリポジトリから別の作業フォルダーとブランチを用意する仕組みです。そこで編集したファイルは、元のフォルダーへ自動で反映されません。作業場所と開始点を確認し、差分とテストを点検してから、プロジェクトの手順で変更を取り込みます。
ただし、Gitの履歴や一部の設定は共有します。外部サービスへの送信まで取り消せる隔離環境、という意味ではありません。
別フォルダーでも、同じリポジトリの作業
Gitの公式資料は、一つのリポジトリが複数の作業ツリーを持ち、異なるブランチを同時に扱えると説明しています。ファイルを別々に編集できる一方、リポジトリに関する情報は共有されます。Gitのworktree説明
たとえば元の作業を残したまま、別の修正を別フォルダーで進める用途です。別フォルダーにしただけで、現在の未保存・未コミットの編集まで、すべて同じ内容で複製されるとは考えません。
Claude Codeで開始するときの条件
CLIでは、claude --worktree feature-authのように名前を付けて開始できます。現行の公式案内では、既定の場所はリポジトリ内の.claude/worktrees/<名前>/、新しいブランチ名はworktree-<名前>です。Claude Codeのworktree専用ガイド
通常のGit利用では、元のリポジトリに少なくとも一つのコミットが必要です。初めてその場所で使う対話実行では、ワークスペースの信頼確認も必要になるため、表示された案内に従います。
ここで使う名前は説明用です。すでに同じ名前のworktreeがあれば、既存の場所を開く動作になります。新規作業のつもりで、古い作業場所を使わないようにしてください。
今のブランチから始まるとは限らない
現行のworktree.baseRefの既定はfreshです。通常はリモートの既定ブランチから始めます。元のフォルダーで開いている作業ブランチを、そのまま開始点にするとは限りません。
headを選ぶ場合は、現在のローカルHEADから始め、未送信のコミットなどを含む状態を使えます。ただし、HEADはコミットの位置なので、未コミットの編集まで持ち込む意味ではありません。
リモートがない、既定ブランチの情報を取得できないなどの場合には、ローカルHEADへ戻る条件もあります。名称だけで判断せず、作成後に実際のブランチとコミットを確かめます。
| 開始後に見るもの | 確認する理由 |
|---|---|
| 作業フォルダーのパス | どこへファイルを保存するか |
| ブランチ名 | どの変更を積み上げるか |
| 開始コミット | 必要な修正を含む状態か |
| 未追跡・除外ファイル | 設定や資料が不足していないか |
依存関係や設定は、別途準備が必要な場合
worktreeは新しいチェックアウトです。開発に必要な依存関係や、Git管理対象外の設定が、そのまま揃うとは限りません。
Claude Codeには、Gitで除外されたファイルをコピーする.worktreeincludeがあります。対象は指定パターンに合い、かつgitignoredであるファイルです。秘密情報を含む.envなどをコピーする場合は、その作業で本当に必要か、使用する環境に合っているかを確認します。
テスト用と本番用の接続設定を取り違えると、作業フォルダーを分けても、本番のデータへ処理が届く可能性があります。ファイルの分離と外部の接続先は、それぞれ確認してください。
編集の隔離には、共有されるものもある
現行の公式説明では、メインのチェックアウトに対する編集ツールの書込みや、メインを作業場所とするコマンドなどを防ぐチェックがあります。
一方、そのチェックは、すべてのシェルコマンドがどのファイルを書き換えるかを追跡するものではありません。コピーや出力先の指定まで含め、対象パスと権限の確認は必要です。
また、Gitの管理情報、プロジェクトのプラグイン、一部の許可設定などは共有されます。共有の条件はCLIとデスクトップ、版によって異なる部分もあるため、独立したPCやコンテナーと同じ隔離だとは扱いません。
取り込む前に、差分とテストを確認する
作業が終わったら、そのworktreeで変更・追加されたファイル、残す必要のある設定、コミットの内容を確認します。正しいブランチで必要なテストが通ったか、依頼外の変更がないかも読みます。
その後、マージやプルリクエストなど、プロジェクトが定める方法で取り込みます。worktreeを終了することや、フォルダーを消すこと自体は、元のブランチへの統合ではありません。
元のブランチにも別の変更が入っていれば、取り込み時に競合や動作への影響が出る場合があります。分離した場所で通ったテストに加え、統合後の状態で必要な確認を行います。
終了時は、残す作業を選んでから削除する
Claude Codeの対話セッションを終了すると、変更、未追跡ファイル、新しいコミットなど、削除で失われる作業を確認します。作業があれば保持・削除を選ぶ案内があります。保持はフォルダーとブランチを残し、削除はその中の作業も削除します。
非対話実行や、サブエージェントのworktreeには、別の終了・掃除の条件があります。「終了したから必ず消えた」「コミットしたからどこかへ必ず残った」と決めないようにします。
手動管理では、git worktree listで一覧を確認できます。削除の前に対象のパスと、取り込み済みか、未保存の成果がないかを確認します。困った場合は、元と別作業のパス、ブランチ、残っている差分を担当者へ示し、必要な作業を残した状態で整理してください。
参照資料
あわせて読みたい記事
執筆・検証:カネさん(政経プラスチャンネル運営)+ ChatGPT
