Claude Code worktree 怎麼用:多個會話並行開發不打架

想同時開幾個 Claude Code 會話改同一個倉庫又怕互相覆蓋?用 git worktree。本文講 claude --worktree 用法、退出清理、.worktreeinclude 複製 .env、基於 PR 開分支、子代理隔離和常見問題。

NNathaniel bigo··原創首發·AI 輔助撰寫
8 分鐘讀完
資料核對於 2026-10-07 · 依據官方文檔與公開資料整理 Plus 帳號
本文根據 Claude Code 官方文檔《Run parallel sessions with worktrees》整理,核對日期 2026-10-07。worktree 需要 git 倉庫。

適用於誰

  • 想讓一個 Claude Code 會話寫新功能、另一個同時修 bug,又擔心兩邊改同一批文件打架的人;
  • 搜「claude code worktree 怎麼用」「claude code 並行任務」「worktree node_modules」的人;
  • 想讓多個子代理並行改代碼、互不干擾的人。

結論先說

  1. git worktree = 同一個倉庫的另一份獨立工作目錄:有自己的文件和分支,但共享同一個 .git 歷史和遠程。每個會話在自己的 worktree 裏改,互不影響。
  2. 最簡單的用法:claude --worktree 名字(簡寫 -w),會在倉庫根目錄的 .claude/worktrees/名字/ 下新建 worktree,分支名為 worktree-名字。另開一個終端換個名字再來一次,就是第二個並行會話。
  3. worktree 是一份全新的檢出:node_modules、.env 這些沒進 git 的東西都沒有。依賴要重新裝;.env 可以用 .worktreeinclude 自動複製。
  4. 退出時,乾淨的 worktree 會自動刪除;有改動的會問你保留還是刪除——選刪除會連同分支和裏面的改動一起刪掉。
  5. 建議把 .claude/worktrees/ 加進 .gitignore。

步驟

1. 在 worktree 裏啟動 Claude

bash
# 終端 1:做登入功能
claude --worktree feature-auth

# 終端 2:修一個 bug
claude --worktree bugfix-123

不寫名字的話,Claude 會自動起一個,比如 bright-running-fox。

注意:交互式運行要求這個目錄已被「信任」。如果從沒在這個倉庫裏運行過 claude,先運行一次普通的 claude 接受信任提示,否則 --worktree 會報錯退出。

也可以在會話裏直接說「在一個 worktree 裏做這件事」,Claude 會用 EnterWorktree 工具自己建一個。

2. 準備開發環境

worktree 裏只有被 git 跟蹤的文件。進去之後可以直接讓 Claude「先安裝依賴」,或者自己到 .claude/worktrees/名字/ 下運行項目的初始化命令(npm install、pip install -r requirements.txt 等)。

想把 .env 等被 gitignore 的文件自動帶進每個新 worktree,在項目根目錄建一個 .worktreeinclude,寫法同 .gitignore:

text
.env
.env.local
config/secrets.json

只有「匹配規則並且被 gitignore 的文件」才會複製,已跟蹤的文件不會重複。這個規則對 --worktree、子代理的 worktree 和桌面版的並行會話都生效。

3. 選擇從哪個分支開始

預設從遠程預設分支(通常是 main)新建,保證起點是乾淨的。如果你希望新 worktree 帶上當前本地的提交(比如讓子代理接着你沒推送的工作改),在設定裏寫:

json
{
  "worktree": {
    "baseRef": "head"
  }
}

baseRef 只接受 "fresh"(預設)和 "head" 兩個值,不能寫分支名。想從某個已有分支開始,用下面的「手動管理」。

基於某個 PR 開 worktree(審 PR、接手別人的改動很方便):

bash
claude --worktree "#1234"

# 要加引號,不然 shell 會當成註釋。也可以直接傳 GitHub PR 或 GitLab MR 的連結,Claude Code 會從 origin 拉取該 PR 的提交,建在 .claude/worktrees/pr-1234。

4. 退出與清理

退出交互式 worktree 會話時,Claude 會檢查裏面有沒有會被刪除的工作(改動、未跟蹤文件、新提交):

情況處理
乾淨、未命名的會話自動刪除 worktree 和分支
乾淨、但會話有名字先問你要不要留着以後用
有改動或新提交問你保留還是刪除;保留時會打印 claude --worktree <名字> --resume 命令,下次用它回來
狀態無法確認不自動刪,提示你哪些沒檢查到

用 claude -p 非交互運行時沒有退出提示,worktree 不會被自動清理,需要自己 git worktree remove(被鎖時先 git worktree unlock)。

5. 讓子代理各自用一個 worktree

並行的子代理改同一批文件也會衝突。可以直接跟 Claude 說「讓你的子代理都用 worktree」,或者在自定義子代理裏固定寫上:

markdown
---
name: refactorer
description: 在很多文件裏執行機械式重構
isolation: worktree
---

在所有受影響的文件裏完成指定的重構,然後運行測試並彙報結果。

每個子代理拿到一個臨時 worktree,沒有改動就自動刪除,有改動的保留到之後的定期清理能安全刪除為止。批量大改動還可以用內置的 /batch 命令:它會把任務拆成 5~30 個獨立單元,每個單元在獨立 worktree 裏由一個後台子代理完成。

worktree 之間共享什麼

  • .git 目錄:在 worktree 裏 git commit 寫的是同一個倉庫;
  • 項目範圍的插件:主目錄裝過的,worktree 裏也能用,不用重裝;
  • 權限批准:在 worktree 裏選「Yes, and don't ask again」,規則儲存到主目錄的 .claude/settings.local.json,所有 worktree 通用(Windows 等少數情況除外);
  • 未進 git 的技能、子代理、命令:如果 worktree 裏沒有 .claude/skills 等目錄,會讀主目錄的。

手動管理 worktree

需要從已有分支開始,或者想把 worktree 放到倉庫外面時,直接用 git:

bash
# 新分支
git worktree add ../project-feature-a -b feature-a

# 已有分支
git worktree add ../project-bugfix fix-issue-456

# 在裏面啟動 Claude
cd ../project-feature-a
claude

# 查看和刪除
git worktree list
git worktree remove ../project-feature-a

並行的幾種方式怎麼選

方式特點
worktree隔離文件改動,每個會話一個獨立目錄
子代理在一個會話內部拆分工作,結果彙報給主對話,詳見本站《Claude Code Subagents(子代理)怎麼用:創建、調用與最佳實踐》
後台會話 / Agent Teams多個獨立會話並行,可以統一查看或互相傳消息

三者可以組合:多個會話各佔一個 worktree,會話裏再派子代理。

常見問題

Q:worktree 裏沒有 node_modules,每次都要重新裝嗎?

是的,worktree 是全新檢出,依賴要在裏面重新安裝(官方建議讓 Claude 裝,或者自己運行初始化命令)。同名 worktree 再次用 --worktree 名字 打開時會複用已有目錄,不必每次重裝。

Q:主目錄裏冒出一堆未跟蹤文件?

把 .claude/worktrees/ 加進 .gitignore。

Q:提示需要先信任工作區?

在倉庫目錄先運行一次普通的 claude,接受信任對話框,再用 --worktree。

Q:Hooks 裏的 $CLAUDE_PROJECT_DIR 會跟着進 worktree 嗎?

不會,它仍指向會話啟動時的項目根目錄。Hook 需要 worktree 路徑時,讀輸入 JSON 裏的 cwd 字段。

Q:不用 git(比如 SVN、Perforce)能用嗎?

預設的 worktree 依賴 git。其他版本控制系統可以配置 WorktreeCreate / WorktreeRemove Hook 替換創建和刪除邏輯,見官方文檔「Non-git version control」一節。

參考資料

  • Run parallel sessions with worktrees(官方):https://code.claude.com/docs/en/worktrees
  • Run agents in parallel(官方):https://code.claude.com/docs/en/agents
  • Create custom subagents(官方):https://code.claude.com/docs/en/sub-agents
  • git worktree 文檔:https://git-scm.com/docs/git-worktree
需要開通或續費?Claude Pro 充值 →

Nathaniel 的更多內容

  1. 01

    AI 學習路線:零基礎從哪開始,6 個階段、每階段該讀哪幾篇教學(2026)

    AI 學習路線怎麼走?給零基礎的人一條循序漸進的路徑:先選一個助手用順,再學提問,再用進日常工作,按需學做圖做影片,守住私隱與版權,最後進階自動化和編程。每個階段都配了本站對應的教學。

    其他 AI 工具0
  2. 02

    AI 瀏覽器有哪些:Perplexity Comet、Opera Neon、Dia、Brave Leo 與 Edge Copilot 的官方說法對照

    AI 瀏覽器有哪些?按官方頁面整理 Perplexity Comet、Opera Neon、Dia、Brave Leo 和 Edge 裏的 Copilot:官方自述的定位、支持的平台、免費還是訂閱,以及 Gemini、Claude 的 Chrome 方案和已停用的 ChatGPT Atlas。

    其他 AI 工具0
  3. 03

    即夢國際版 Dreamina 是什麼:官方站入口、能生成什麼、免費積分和模型(2026)

    即夢國際版 Dreamina 是什麼?官方站是 dreamina.capcut.com,是一個圖片、影片和數字人一體的 AI 創作平台。按官方首頁和 FAQ 講:能生成什麼、免費用戶每天 120 積分、列出的 Seedance 與 Seedream 模型,以及和國內即夢怎麼區分。

    其他 AI 工具0
  4. 04

    Kimi K3 Coding Plan 是什麼、怎麼用:Kimi Code 會員、模型 ID、套餐價格和額度規則

    Kimi K3 Coding Plan 是什麼?按 Kimi 官方文檔核對:官方現在叫 Kimi Code,是 Kimi 會員權益裏的編程服務,Plus 及以上才有;講 K3 等模型 ID、國內新套餐價格、三種客戶端、第三方工具接入和額度規則。

    Kimi0
  5. 05

    DeepSeek V4 Pro 和 Flash 的區別與 API 價格:官方價格頁逐項對照(高峰與空閒時段)

    DeepSeek V4 Pro 和 Flash 有什麼區別、API 怎麼收費?按 DeepSeek 官方價格頁(2026-10-19 查詢)列出兩個模型的版本、上下文、圖像理解、並發和每百萬 token 價格,說明高峰與空閒時段的計費差別和舊模型名怎麼處理。

    其他 AI 工具0
  6. 06

    GPT-6 Pro(Astra)怎麼用、哪些套餐有:怎麼選到 Pro 檔、用量限制和 Pro 三檔價格

    GPT-6 Pro(Astra)怎麼用、哪些套餐有?按 OpenAI 幫助中心核對:聊天裏 Pro 檔給 Pro 100、Pro 200、Business 和 Enterprise;Plus 在 Work 和 Codex 裏含 Astra。講怎麼選到、用量上限和官方 Pro 價格。

    ChatGPT0

同產品的其他教學

  1. 01

    Claude Pro 和 Max 的區別:用量、價格、Fable 模型和每月 API 額度怎麼選

    Claude Pro 和 Max 有什麼區別?按官方定價頁和幫助中心核對:Max 有 5x、20x 兩檔用量,Pro 與 Max 在價格、Fable 模型、每月 API 額度和計費週期上的差別,以及什麼情況下 Pro 夠用、什麼情況下該升 Max。

    Claude0
  2. 02

    Claude 登入不了、用不了、打不開怎麼辦:按官方幫助中心逐條排查

    Claude 無法登入、無法使用、無法打開怎麼辦?按官方幫助中心的順序排查:收不到登入電郵、登入報錯、Google 登入出問題、系統繁忙、額度用完、官方故障,以及所在地區是否在官方支持名單裏。

    Claude0
  3. 03

    Claude 怎麼註冊:官方註冊流程、手機驗證要求,以及提示無法註冊時官方怎麼說

    Claude 怎麼註冊?打開 claude.ai,用 Google 或電郵登入連結創建帳號,再用支持地區的手機號收短訊驗證碼。講清官方的註冊條件、手機驗證的限制,以及收不到驗證碼、號碼被用過多次時官方的處理辦法。

    Claude0
  4. 04

    Claude 怎麼用:新手入門,從打開聊天到寫出第一個好問題

    Claude 怎麼用?按官方幫助中心整理的新手路徑:在網頁、桌面版或手機 App 打開聊天,像對同事一樣寫需求,用輸入框的「+」和「/」找功能,點模型名換模型,免費版有每 5 小時重置的上限。

    Claude0
  5. 05

    Claude 怎麼設定成中文:介面語言、回答語言和語音語言分別怎麼設

    Claude 怎麼設定中文?官方幫助中心列出的 11 種介面語言裏目前沒有中文,但 Claude 會用你提問的語言回答,直接用中文問即可;想固定用中文,可在設定的 Instructions for Claude 裏寫一句。語音模式的語言要單獨選。

    Claude0
  6. 06

    MCP Inspector 怎麼用:安裝、啟動命令、調試 MCP 伺服器與 v2 的變化

    MCP Inspector 是什麼、怎麼安裝和使用?按 MCP 官方文檔講清網頁、命令行、終端介面三種模式的啟動命令,怎麼連本地和遠程伺服器、怎麼傳環境變量,密鑰存在哪,以及 v2 相比舊教學在端口、令牌變量名和 Node 版本上的變化。

    Claude其他 AI 工具0

0 條評論

登入 後參與評論

還沒有評論,來搶沙發~