生活分享
Claude Code|雙 Worktree 實作與衝突整合
隔離兩項功能,最後完成整合與回歸。兩個 Claude 工作階段同時編輯專案,最容易出現的問題是互相改到同一份檔案,或各自測試通過、整合後卻失敗。本篇用兩個 Worktree 分別處理篩選預設值與介面文字,故意製造一次小衝突,再完成整合、驗證與清理。你不需要先啟用 Agent Teams。
閱讀時間約 6 分鐘

進階 · CLI / Desktop
兩個 Claude 工作階段同時編輯專案,最容易出現的問題是互相改到同一份檔案,或各自測試通過、整合後卻失敗。本篇用兩個 Worktree 分別處理篩選預設值與介面文字,故意製造一次小衝突,再完成整合、驗證與清理。你不需要先啟用 Agent Teams。
先讀 Git 審查Claude Code|Git、差異審查與 PR檢查差異、整理提交與準備 PR。Claude Code 完成功能後,還需要檢查差異、整理提交並決定如何交給他人審查。本篇用待辦專案示範 Git 工作目錄、暫存區與提交的關係,最後準備一份 Pull Request 說明。你會知道測試通過、本機提交、遠端 PR、合併與部署是不同狀態。閱讀全文、Worktree 入門Claude Code|Git Worktree 平行工作隔離多個任務的檔案與分支。Git Worktree 讓同一儲存庫擁有多個工作目錄,各自使用分支與檔案。本篇會把待辦篩選與文件整理分開,確認兩個 session 不會直接改到彼此的檔案,再把其中一個成果整合回主分支。你也會知道何時可以安全清理工作目錄。閱讀全文及工作交接Claude Code|長任務的上下文整理與交接文件讓新的工作階段依檔案接手,而不依賴原對話。長任務最容易遺失的,往往不是整段程式碼,而是「為什麼這樣改」「哪些測試真的跑過」「接下來應從哪裡開始」。本篇會把一項待辦篩選需求分成三個階段,建立可供新工作階段接手的 handoff.md、決策紀錄與未完成清單。閱讀全文。下載第 88 篇材料,使用全新解壓縮的 starter。需要 Git 與 Node.js 22;不要在包含其他未完成變更的日常專案直接照做。
為什麼隔離檔案還不夠
閱讀完整文字說明
雙 Worktree 實作與衝突整合,以流程和文件圖形呈現教學重點。
Worktree 讓同一 Git 儲存庫擁有不同工作目錄與分支,所以兩個工作階段可以各自編輯。但是 Git 外部的資源不會因此自動隔離:兩個網站仍可能爭用同一埠號,讀寫同一個資料庫,或將結果放入同一個暫存檔。
本練習不使用資料庫,兩邊若需要啟動網站,就各自指定不同 PORT;產物留在各自工作目錄。分工表應同時列出檔案範圍、服務埠號與交付方式,而不只是寫「一位做前端、一位做後端」。這樣最後整合時,才知道哪個成果屬於哪個任務。
| 工作 | 檔案責任 | 產出 | 本機埠號示例 |
|---|---|---|---|
| filter | filter.js、view-mode.txt 的預設值 | 未完成篩選 | 4174 |
| labels | view-mode.txt 的顯示文字 | 所有待辦標籤 | 4175 |
| 整合者 | 核對兩個分支與整合測試 | 可審查的完整版本 | 4173 |
兩份工作都涉及 view-mode.txt,是刻意安排的衝突案例。真實工作可以先切得更乾淨;但學會辨識重疊,比假設永遠不會衝突更實用。本篇也會讓你看見「檔案有衝突標記token(Token)是什麼:AI 如何計算文字長度token 是語言模型處理內容的基本單位,可能是一段單字、標點或中文字的一部分,不能直接當成字數。本文用整理社團公告的情境,說明輸入、輸出與上下文如何計數,為什麼同一段中文換模型後用量可能不同,以及查看分詞器和實際用量時該注意什麼。你會學會估算任務空間、保留必要資訊,並分清楚 token 與登入用的存取權杖。閱讀全文」與「需求有矛盾」並不總是同一件事。
先跑一次完整的受控示範
材料提供的 demo 會在系統暫存目錄建立新的練習 Git 儲存庫,不使用你當前專案的分支。它只處理自己建立的目錄,過程不需要網路,也不建立 GitHub PR。跑完會印出 receipt.json 路徑,保留基準提交、合併提交與每一步命令結果。
node worktrees/demo.mjs
打開紀錄,確認 controlledConflict 為 true,兩個功能都保留,coreTests 有實際測試輸出。示範程式完成代表 Git 流程可重現,不代表 Claude 已替你實作兩項功能。後面的手動流程要由你自己完成;需要 Claude 時,再把每個工作目錄交給獨立工作階段。
手動建立共同基準
另解壓一份乾淨材料,將這份 starter 當成主要工作目錄。先執行核心測試,再初始化新儲存庫並提交。提交身分使用你原本 Git 的設定;若沒有設定,先在這個練習儲存庫設定 user.name 與 user.email,不要修改所有專案的全域偏好。
node --test tests/model.test.mjs
git init --initial-branch=main
git add .
git commit -m "Create worktree exercise baseline"
git worktree add -b lab/filter ../filter main
git worktree add -b lab/labels ../labels main
git worktree list
確認 ../filter 與 ../labels 是你預期的新路徑,而且原本不存在重要檔案。git worktree list 應列出 main、lab/filter 與 lab/labels 對應的位置。若 Git 說分支已被其他工作目錄使用,先查清楚現有關係,不要為了通過命令任意加強制選項。
分別完成兩項修改
filter 工作新增 filterTasks 函式,並將 view-mode.txt 的 default 改為 active;labels 工作只改標籤。你可以手動修改,也可在各自工作目錄啟動 Claude,清楚交代範圍。不要讓第二個工作階段從第一個工作目錄啟動,否則對話分開了,實際檔案卻沒有分開。
只處理本工作目錄的篩選需求。
新增 filter.js 的 filterTasks(items, mode),active 時回傳未完成項目,其他模式保留全部。
把 view-mode.txt 的 default 改成 active,不改 label。
保留原資料,執行相關測試,最後回報 diff;不要合併其他分支。
只把 view-mode.txt 的 label 改為「所有待辦」。
不要修改 default、filter.js 或其他工作目錄。
完成後回報變更,不自行合併。
每一邊都應先審閱 diff 再提交。提交前看 git status --short,確認沒有把執行紀錄、node_modules 或另一項工作的內容混進去。分支上的測試通過,只說明該版本的結果;接下來仍需要在整合版本重驗。
合併並理解衝突
回到主要 starter,先合併 filter,再合併 labels。受控示範的兩項修改位在相鄰的短文字區塊,Git 會要求處理衝突。你應讀取雙方意圖,保留 default=active 與 label=所有待辦,而不是盲目選取整個 ours 或 theirs。
git status --short
git merge lab/filter
git merge lab/labels
default=active
label=所有待辦
移除衝突標記後,執行 git diff --check 檢查空白及殘留問題,再把已解決的檔案加入提交。若你看不懂衝突,先保存閱讀紀錄並使用 git merge --abort 回到合併前;這只用在目前正在進行的合併,不是一般任務的萬用還原方式。
git diff --check
git add view-mode.txt
git commit -m "Preserve active filter and display label"
node --test tests/model.test.mjs
在整合版本驗收
先確認 view-mode.txt 的兩個值,再檢查 filterTasks 是否保留原資料。若你已把功能接到畫面,還要在瀏覽器切換篩選;只測純函式,不能宣稱介面也完成。這一層驗證可參考完整除錯流程Claude Code|真正走完一次重現、失敗測試與修正定位跨資料層及介面層的待辦狀態錯誤。點了第一筆待辦,卻改到另一筆,這種問題不能只靠一句「請修好」驗證。本篇從瀏覽器重現開始,寫出修正前會失敗的行為測試,再讓 Claude 做最小修改。最後保留同一個測試由紅轉綠的紀錄,以及相鄰情境沒有退步的證據。閱讀全文。
比較三個提交:共同基準、各自功能與最終整合。若最後少了其中一個需求,即使所有衝突標記都消失,仍然不算解決成功。相反地,有時 Git 自動合併沒有標記,兩項功能卻在邏輯上互相干擾,因此整合測試不能省略。
整合前確認成果屬於哪一條分支
每個 worktree 都有自己的工作目錄,但仍共享儲存庫的物件與部分設定。整合前先查看各自的分支、提交與未提交差異,避免把尚未保存的成果當成已可合併。若其中一個目錄還有未追蹤檔案,先判斷它是成果或暫存資料。
衝突解決後使用最終檔案重新測試,不能只引用兩條分支合併前的綠燈。最後結果是第三種組合,可能產生單獨分支沒有出現的問題;本課的預設模式與標籤就需要同時保留並核對。
解決衝突時在紀錄寫出保留兩方需求的理由,不只記錄 Git 命令成功。命令成功代表提交完成,功能是否正確仍以最後檔案的行為為準。
清理與故障練習
清理前在每個工作目錄執行 git status,確認沒有未提交成果。只有已保存、已整合且工作目錄乾淨時,才從主要儲存庫移除對應 Worktree。移除工作目錄與刪除分支是兩件事,這裡先保留分支方便追查,不需要立即刪除歷史。
git -C ../filter status --short
git -C ../labels status --short
git worktree remove ../filter
git worktree remove ../labels
git worktree list
故障練習是在 filter 目錄加一個未提交檔,再嘗試移除 Worktree。預期 Git 阻止清理;請先保存或明確處理這個檔案,再重試。不要以強制刪除作為答案,因為這個阻擋正是在提醒你有成果尚未整理。
完成標準是兩個工作目錄曾經獨立運作、受控衝突有紀錄、整合保留雙方需求、測試在最終版本通過,最後沒有遺失未提交資料。小練習可再增加不同埠號的網站預覽,觀察停止其中一個服務是否影響另一個,確認你理解 Git 隔離與執行環境隔離的差別。
需要把責任交給專責代理時,可接續Subagent 審查Claude Code|讓 Subagent 提出可核對的審查發現設計專責代理的範圍、工具及回報格式。讓專責代理審查程式,可以分開檢查資料邏輯與畫面,但兩份回報不會自動變成兩次獨立驗證。本篇建立唯讀的 data-reviewer 與 ui-reviewer,要求每項發現都有位置、條件與影響,再由主工作階段重現、去重並駁回沒有依據的意見。閱讀全文;支援團隊功能的讀者再看Agent Teams 整合Claude Code|Agent Teams 的分工、阻塞與成果整合比較單代理、專責代理與團隊協作成本。Agent Teams 可以讓多個 Claude 工作階段分工,但建立更多角色不一定更快。本篇以待辦篩選為同一個目標,先記錄單代理基準,再分派兩個不重疊的責任,練習處理阻塞、需求變動與最後整合,並把協調時間算進結果。閱讀全文。先掌握可重現的 Git 流程,之後增加代理角色才有可靠的交付基礎。
回 Claude Code 教學總目錄Claude Code 完整教學目錄:從入門到自動化依平台、程度與功能找到需要的教學,從 96 篇文章與共用練習專案逐步完成操作。這個教學中心把 Claude Code 分成 96 個可以獨立閱讀的小題目,從桌面、CLI、網頁與手機開始,再學 MD 規則、常用指令、Skills、MCP 與自動化。你可以依推薦路線循序學習,也可以直接搜尋正在遇到的功能、命令或檔名。目錄依目前公開狀態顯示可閱讀文章。閱讀全文
同主題延伸閱讀
生活分享
Claude Code|建立第一個 mod:在 Claude Code 行程內數工具呼叫
寫一個三檔案的 mod,用驗證器與測試確認它掛上的事件。文件把 mod 定義成多了入口檔的 plugin:入口檔叫 hooks module,Claude Code 在事件發生時呼叫裡面的函式,函式可以觀察、改寫或接手事件。
生活分享
Claude Code|Git Worktree 平行工作
隔離多個任務的檔案與分支。Git Worktree 讓同一儲存庫擁有多個工作目錄,各自使用分支與檔案。本篇會把待辦篩選與文件整理分開,確認兩個 session 不會直接改到彼此的檔案,再把其中一個成果整合回主分支。你也會知道何時可以安全清理工作目錄。
生活分享
Claude Code|比較流程品質、用量與執行時間
以同一資料集比較兩種工作方法。比較兩種 Claude 工作方法時,不能只挑成功那一次,也不能只看第一個答案有多快。本篇用固定案例、原始紀錄和一致判準,比較品質、重試、等待與人工整合時間,最後寫出有樣本數與限制的報告,而不是保證某個方法一定省錢。
生活分享
Claude Code|用量、成本與效率調整
縮小任務、整理上下文與選擇模型。提升 Claude Code 效率,先減少不必要的工作,再考慮模型與設定。本篇用同一個待辦功能比較任務範圍、上下文與驗證方式,建立一份用量觀察表。你會分清楚訂閱額度、API 費用估計與實際帳務,不用單一數字判斷整個工作是否划算。
引用本文的文章
最新旅遊情報攻略

情報
2026 韓國楓葉預測:雪嶽山 10 月 20 日、首爾近郊 10 月底、內藏山與漢拏山 11 月上旬
韓國山林廳 2026 年 9 月 22 日公布的楓紅高峰預測:雪嶽山 10 月 20 日,春川、國立樹木園到首爾植物園落在 10 月 28 日到 11 月 2 日,內藏山 11 月 4 日、漢拏山 11 月 6 日,整體比最近 5 年晚約 0.8 天。整理各地楓樹與銀杏的預測日、首爾出發怎麼排,以及出發前去哪裡看即時楓況。2026 年 10 月查證。
- 季節活動
- 自然
- 觀景

攻略胡志明市
胡志明市到頭頓一日遊:白藤碼頭搭高速船、船票與班次,下船就是胡梅纜車與耶穌基督像
人在胡志明市挪一天去頭頓看海:市中心的白藤高速船碼頭搭船,航程 120 分鐘到頭頓的胡梅碼頭,平日成人 320,000 越南盾、週末 350,000,回程末班平日 15:00。下船就是胡梅纜車站,同一條路上有白宮,小山頂上是耶穌基督像。平日一天只有兩班船,整天要從末班船倒推著排。
- 交通
- 行程範例
- 海灘

攻略沖繩
沖繩不開車攻略:單軌只到浦添,美麗海水族館要坐兩個多小時的巴士,回那霸的最後一班直達車 17:22 就開走
不租車的沖繩怎麼移動:那霸市區靠沖繩都市單軌電車(ゆいレール),那霸機場站到終點てだこ浦西 19 站、17 公里、37 分鐘,一日券 1,000 日圓;美麗海水族館有那霸機場直達的高速巴士,單程 2,000 日圓起、官方時刻表上 2 小時上下,下車後還要走 10 分鐘;古宇利島要在今帰仁村役場轉車,當天來回光坐車就六個半小時;回程的最後一班直達車 17:22 就從記念公園前開走(2026 年 9 月查證)。
- 交通
- 行程範例
- 預算