
Git worktree 配合 Claude Code:分開工作目錄,清楚管理並行改動
正確建立新分支 worktree、核對起點同工作範圍,再安排整合與清理。工作目錄分開咗,外部服務同合併衝突仍然要處理。
唔使收起手上工作,先開另一個工作目錄
你做緊搜尋功能,但同事需要你調查另一個 bug。Git worktree 可以畀同一個 repository 同時有幾個工作目錄,各自保留檔案修改,唔使為咗轉去另一個任務而先 stash。
佢隔離嘅主要係工作檔案同 index;Git 歷史等資料仍然共用。亦唔會幫你隔離資料庫、雲端帳戶、port 或所有全域設定。兩邊修改最終仍然要整合,唔存在「開咗 worktree 就一定冇衝突」。
1. 睇清楚現有狀態同起點
喺原有 repository 執行:
git status --short --branch
git worktree list
git branch --list
呢幾個命令幫你確認目前分支、未完成改動同現有 worktree。原工作目錄有未提交改動,唔一定阻止你建立另一個 worktree;但嗰啲改動唔會自動複製過去。
先決定新任務應由邊個 commit 或分支開始。以下假設 main 係你已核對過、想用嘅本地起點,唔代表佢自動等同最新遠端版本。需要更新遠端資料時,先按團隊流程處理,再核對要用嘅 ref。
2. 新分支同已有分支,寫法唔同
建立新分支 feature/user-search,放喺相鄰資料夾:
git worktree add -b feature/user-search ../my-app-user-search main
-b 明確表示建立新分支;最後嘅 main 係起點。分支已經存在時,改用:
git worktree add ../my-app-user-search feature/user-search
兩條係不同情況嘅選擇,唔係順序執行。Git 一般唔容許同一個分支同時喺兩個 worktree 被 checkout;報錯時先查 git worktree list,唔好加強制選項繞過。
只想檢查一個版本而唔佔用分支,可以用 detached HEAD,但之後如要保留新提交,記得為佢建立可追蹤嘅分支。詳細行為以 Git worktree 文件為準。
3. 開獨立 Claude 對話,指定工作
cd ../my-app-user-search
git status --short --branch
claude
目前 worktree 用嚟處理使用者搜尋。先確認路徑、分支同已有改動,再閱讀搜尋相關程式。 只修改今次搜尋需求所需嘅檔案。如果共用介面、lockfile 或資料結構需要改動,先交代原因同影響。完成後執行相關測試,列出修改與未確認項目,唔提交、推送或部署。
每個目錄安排一個寫入者。新目錄唔會自動有全部依賴、忽略檔案或者前一段對話背景;先核對設定。開發伺服器要用不同 port,測試資料亦應隔離,避免兩個任務互相影響。
Claude Code 亦支援由命令列建立 worktree,例如 claude --worktree user-search。使用前先睇本機 claude --help 同官方 CLI 文件,確認建立位置、分支與離開時嘅保留行為。唔好將程式內部嘅 Agent 參數當成可以直接貼落終端機嘅命令。
4. 整合時再驗證一次
兩個 worktree 各自測試通過,唔代表合埋之後仍然通過。尤其共用型別、依賴、schema 同 lockfile,可能產生語意衝突,即使 Git 冇標示文字衝突亦一樣。
先審閱各自差異同測試結果,再按團隊流程合併或者挑選提交。發生衝突時,理解兩邊要求,唔好一律以主分支覆蓋。整合後喺最終組合再跑相關檢查。
worktree 只係工作方式,唔等於開 PR、合併或者發佈。呢幾個動作要各自有清楚範圍同授權。
5. 清理前確認工作已經保存
先停止仍然依賴該目錄嘅伺服器同程序,再檢查修改、未追蹤檔案,以及有冇只存喺該處嘅重要檔案。
確認唔再需要、內容已妥善保留後,先由另一個目錄執行:
git worktree remove ../my-app-user-search
git worktree list
如果 Git 拒絕移除,先睇原因。唔好將 --force 當成日常清理方法,未提交檔案被刪除後,Git 歷史未必幫到你。由開發工具管理嘅 worktree,優先用該工具嘅封存或移除流程。
分支是否可以刪除,要另行確認提交已被保留。git worktree prune 只處理失效管理記錄,唔係備份或者復原功能。
先用一個額外 worktree 解決真實需要,通常比一次開五個任務更容易睇清楚工作狀態。保留上下文可以減少整理工作,但人仍然需要重新理解任務,唔好將切換成本當成零。
文中工具 · 連結
- Claude Code CLI· 付費
開發者用 — terminal 入面同 Claude pair coding
睇完想同 Claude 一齊行一次?
撳一下,複製教學提示詞同全文到剪貼簿。 貼入 Claude.ai 或 Claude Desktop,再按文章逐步試做, 整理出適合你情況嘅草稿或清單;未確認嘅資料會留低畀你核對。