Git 工作樹
Git Worktree
定義 · Citable Definition
git worktree 是 Git 內建的功能,讓同一個倉庫同時把多個分支檢出到不同資料夾、彼此完全隔離。它是多個 AI 代理平行開發而不互相覆蓋的技術地基,不需要複製整個倉庫。
延伸說明 · In Practice
沒有 worktree,多代理平行開發就得一路 stash 來 stash 去:A 代理改到一半、B 代理要跑測試,只能先把 A 的改動暫存起來——只要順序錯一次,就會丟掉工作。有了 worktree,一個任務一個資料夾,代理各改各的分支,最後再挑要合併哪一份。
它比「複製一份倉庫」好在哪:worktree 共用同一份 .git 物件庫。十個工作區不會佔十倍磁碟,分支與提交紀錄也是同一份,不會出現「這個複製品的歷史跟主倉庫對不上」這種問題。建立一個工作區是秒級的操作,用完刪掉即可。
這也是判斷代理開發環境成不成熟的分水嶺。一套宣稱能平行跑代理的工具,如果底層不是 worktree(或等價的隔離機制),那個「平行」多半只是介面上的分頁——代理們其實還在同一個資料夾裡搶同一批檔案。