Git 工作樹 | LanMate 使用手冊
用緊奇安信版 LanMate?睇奇安信版使用手冊

Git 工作樹

工作樹(Worktree)令不同任務在互相隔離的 Git 環境中執行。當你需要喺同一個項目裡平行處理多個任務——好似一邊開發新功能、一邊修復緊急 Bug——又唔想兩邊改動互相踩到時,工作樹係理想選擇。

每個工作樹係一個獨立目錄,擁有專屬嘅檔案、分支同代碼變更。你嘅主工作目錄保持整潔唔受干擾,任務結束後再將成果合併返嚟。

名詞解釋

名詞 描述
工作樹 Git 嘅原生機制,容許一個 repo 同時擁有多個獨立嘅工作目錄,每個目錄 checkout 唔同分支
工作樹分支 某個工作樹目前 checkout 嘅分支,命名好似 lanmate/task-8c295571
工作樹目錄 工作樹對應嘅本機資料夾。LanMate 統一擺喺 ~/.lanmate/worktrees/<項目>/ 受管根下
基礎分支 工作樹建立時基於嘅分支,任務變更最終合併返呢條分支

工作樹唔會起喺你嘅項目 repo 入面(git status 唔會多咗目錄),而係集中擺喺 LanMate 自己嘅目錄下,按項目歸類、統一管理。

適用範圍與前置條件

非 Git 項目或唔涉及代碼變更嘅辦公任務,直接喺項目目前目錄執行就得,唔使工作樹。

四類工作樹來源

來源 幾時建立 命名
任務 輸入框揀「新工作樹」之後發任務 task-<會話8位>
分叉 會話分叉時揀「喺新工作樹中繼續」 fork-<會話8位>
子代理 編碼任務嘅子代理需要隔離環境時 subagent-<代理8位>
看板 看板任務派俾 Agent 執行時 taskboard-<任務>

四類工作樹都喺設定 → Git → 工作樹統一睇到、可以清理,並按來源標註。

為新任務建立工作樹

  1. 喺 Git 項目嘅對話輸入框下面,搵 Git 工作區選擇器
  2. 預設係「本地」(用項目目前工作樹),切換做「新工作樹」
  3. 可選:撳分支揀基準分支(預設目前分支)
  4. 發出任務,LanMate 自動建立專屬工作樹

任務啟動之後,會話頂部嘅置頂摘要會顯示目前工作樹分支,確認變更隔離生效。

喺新工作樹中繼續

對話去到某度想試另一條路,又唔污染原本工作區:

  1. 懸停目標訊息,撳「分叉」
  2. Git 項目會彈二選一:新聊天(同目錄繼續)或 喺新工作樹中繼續
  3. 揀新工作樹之後,分叉會帶埋源頭未提交嘅現場(連未追蹤檔案),進行中嘅變更唔會唔見咗

詳見會話管理

AI 合併

任務完成、變更驗證無誤之後,將工作樹成果合併返基礎分支:

  1. 打開會話頂部置頂摘要,展開 Git 狀態
  2. 工作樹嗰行撳「AI 合併」
  3. Agent 會先審查工作樹嘅變更,跟項目提交規範補齊提交,再合併返基礎分支;有衝突就跟 repo 慣例解決

合併係 Agent 執行嘅完整 Git 流程,過程透明可追溯;對合併策略有特別要求,都可以直接喺對話講。

查看磁碟佔用

工作樹係完整 checkout 目錄,會佔磁碟空間。隨時可以查:

  1. 前往設定 → Git → 工作樹
  2. 「工作樹磁碟佔用」區域列出全部工作樹嘅佔用大小、分支、上次使用時間,按來源分類

當項目工作樹總佔用到達你喺設定配置嘅門檻時,輸入框上面會出現提醒條,可以一鍵去清理。

清理工作樹

清理會刪除工作樹目錄釋放磁碟,對話歷史同代碼變更紀錄會保留。清理時可以剔「保留分支」——淨係刪目錄,分支留低,之後仲可以從分支搵返啲改動。

入口:設定 → Git → 工作樹 → 剔目標工作樹 → 清理所選。

子代理工作樹有快照保護:清理之前會先將未提交變更存去 lanmate/subagent-* 快照分支,目錄刪咗產出都仲可以從分支搵返。

相關設定

設定 位置 說明
清理時預設保留分支 設定 → Git → 工作樹 開啟後清理確認彈窗預設剔「保留分支」
磁碟佔用提醒(GB) 設定 → Git → 工作樹 工作樹總佔用到達門檻時喺輸入框提醒;設做 0 閉咗佢