Worktree 跟平行開發
同時做多個功能不衝突
⏱ 預估 ~5 分鐘
01 · 讀一讀
如果你能同時做兩個功能、互不踩到對方檔呢?平常你專案一個分支一組檔。實作 auth 做到一半重大 bug 進來,你要 stash 工作、切分支、流失節奏。
Git worktree 解決這個。Worktree 是分開工作目錄,跟你主專案共享同樣 git 歷史。每個 worktree 有自己分支跟檔。Claude Code 內建 worktree 支援 — 你一個旗標就能起隔離工作空間。
💡 想像一下想像辦公室有兩張桌不是一張。每張桌有自己一份在做的文件複本,但都連到同個檔案櫃(git 歷史)。你可以在 1 號桌做功能、2 號桌修 bug,從不在它們之間挪紙。
重點整理
- Worktree 是共享同 git repo 的分開工作目錄
- 每個 worktree 有自己分支跟檔
- 不用 stash、切分支、失節奏
- Claude Code 用 --worktree 自動建 worktree
02 · 看程式碼
用 --worktree 旗標建 worktree。每個有自己分支跟目錄。
建 worktree
# Start a Claude session in an isolated worktree
claude --worktree feature-auth
# Start another session for a bug fix
claude --worktree bugfix-login
# Auto-generate a random worktree name
claude --worktree
幕後發生什麼
Worktree location: .claude/worktrees/feature-auth/
Branch created: worktree-feature-auth
Files: Full copy of your project
Git history: Shared with main repo
每個 worktree 在 .claude/worktrees/ 裡有自己目錄、自己 git 分支。兩個 Claude session 能同時編檔不衝突。做完,沒改動的 worktree 自動清掉。
03 · 讀一讀
Worktree 對平行 Claude session 特別強大。下面是典型流程:
1. 你在主目錄實作功能 2. Bug 回報進來 — claude --worktree bugfix-123 3. Bugfix session 在自己複本獨立工作 4. 修好,merge bugfix 分支回 main 5. 繼續你功能工作不漏拍
你也可以在 subagent 裡用 worktree。在 subagent 的 SKILL.md frontmatter 加 isolation: worktree 讓它自動在自己 worktree 工作 — 適合需要編檔但不影響你主工作目錄的任務。
重點整理
- 平行跑多個 Claude session,每個在自己 worktree
- 做完 merge worktree 分支回去
- Subagent 能用 isolation: worktree 用 worktree
- 把 .claude/worktrees/ 加到 .gitignore
04 · 讀一讀
真正大規模改動 — 跨 100 個檔重命名 function、或遷移 API — Claude Code 提供 /batch 指令。它把你任務分解成獨立單位、為每個生 subagent,每個在自己 worktree 工作。
每個 subagent 為自己那塊建一個 draft pull request。你檢視、merge 好的、迭代其他。這是專業怎麼處理大型重構 — 拆成獨立、可審查的塊。
重點整理
- /batch 把大任務分解成獨立單位
- 每個單位在自己 worktree 跟自己 subagent
- 每個建 draft PR 給審查
- 適合大規模重構跟遷移
05 · 選擇題
Claude worktree session 結束、沒 uncommit 改動會發生什麼?
- Worktree 自動清掉
- Worktree 永遠在直到你手動刪
- Claude 請你關前 commit
- Worktree 移到備份目錄
06 · 分類拖拉
把這些平行 worktree 流程步驟依正確順序放。
(本節為互動練習,請啟用 JavaScript 體驗)
⚠ 完整互動體驗需要 JavaScript。請啟用 JavaScript 後重新整理。
※ 本站為獨立繁中教學專案,非 Anthropic 官方產品。Claude™ 為 Anthropic, PBC 商標。