Git 工作樹 | LanMate 使用手冊
使用奇安信版 LanMate?查看奇安信版使用手冊

Git 工作樹

工作樹(Worktree)讓不同任務在相互隔離的 Git 環境中執行。當你需要在同一個專案裡並行處理多個任務——比如一邊開發新功能、一邊修復緊急 Bug——又不希望兩邊改動互相踩踏時,工作樹是理想選擇。

每個工作樹是一個獨立目錄,擁有專屬的檔案、分支和程式碼變更。你的主工作目錄保持整潔不受干擾,任務結束後再把成果合併回來。

名詞解釋

名詞 描述
工作樹 Git 的原生機制,允許一個儲存庫同時擁有多個獨立的工作目錄,每個目錄檢出不同分支
工作樹分支 某個工作樹目前檢出的分支,命名形如 lanmate/task-8c295571
工作樹目錄 工作樹對應的本機資料夾。LanMate 統一放在 ~/.lanmate/worktrees/<專案>/ 受管根下
基礎分支 工作樹建立時基於的分支,任務變更最終合併回這條分支

工作樹不會建在你的專案儲存庫裡(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 會先審查工作樹的變更,按專案提交規範補齊提交,再合併回基礎分支;出現衝突時按儲存庫慣例解決

合併是 Agent 執行的完整 Git 流程,過程透明可追溯;對合併策略有特殊要求時,也可以直接在對話裡說明。

查看磁碟占用

工作樹是完整檢出目錄,會占磁碟空間。隨時可查:

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

當專案工作樹總占用達到你在設定中配置的閾值時,輸入框上方會出現提醒條,可一鍵前往清理。

清理工作樹

清理會刪除工作樹目錄釋放磁碟,對話歷史與程式碼變更紀錄保留。清理時可勾選「保留分支」——只刪目錄,分支留下,之後仍可從分支找回變更。

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

子代理工作樹有快照保護:清理前會先把未提交變更存到 lanmate/subagent-* 快照分支,目錄刪了產出也能從分支找回。

相關設定

設定 位置 說明
清理時預設保留分支 設定 → Git → 工作樹 開啟後清理確認彈窗預設勾選「保留分支」
磁碟占用提醒(GB) 設定 → Git → 工作樹 工作樹總占用達到閾值時在輸入框提醒;設為 0 關閉