跳轉到主要內容
在專案的獨立 git 工作樹中執行對話。每個工作樹都是一個獨立的分支,並在 .bricks/worktrees/ 下擁有自己的檢出,因此代理可以在分支上建置與實驗,而不會動到您的主要檢出或其他任何對話。滿意後再將成果合併回去。
工作樹僅適用於 Git 儲存庫中的專案。否則不會顯示工作樹選擇器。

選擇工作樹

工作樹標籤(一個分支圖示加上目前的目標名稱)會顯示在專案對話的輸入列中,與其他選擇器並列。它顯示對話執行所在的工作樹,預設為主分支 只有在對話尚未開始時才能變更目標。一旦對話有了訊息,工作樹就會鎖定:標籤仍會顯示,但不再可開啟(其工具提示為「此對話使用的工作樹(開始後鎖定)」)。 點選標籤可在下列項目間選擇:
  • 主分支:專案的主要檢出
  • 既有的工作樹,列在工作樹標題下
  • 新增工作樹…:建立一個全新的工作樹
工作樹選擇器是以專案為單位。Main Chat 沒有工作樹目標。

建立工作樹

選擇新增工作樹…開啟新增工作樹對話框。
  • 輸入選填的名稱。在您輸入時,即時預覽會顯示它對應到的分支與資料夾:.bricks/worktrees/<名稱>。名稱會被轉為 slug(全部轉為小寫,空格與其他字元會收合為 -,上限 60 個字元)。
  • 將名稱留空即可取得自動產生的名稱,例如 brave-otter
  • 點選建立。CTOR 會從專案的預設分支建立分支與獨立檢出,接著在其中執行 bun install。對話會自動切換到新的工作樹。
若建立失敗,會回復未完成的工作樹,讓您重試時從乾淨的狀態開始。 您建立的第一個工作樹會將 .bricks/worktrees/ 加入專案的 .gitignore 並提交該變更,因此檢出的工作樹絕不會被提交回專案。

在工作樹中作業

工作樹對話會在側邊欄的項目旁顯示分支圖示。代理(以及對話所做的一切)都會針對工作樹的分支與檔案執行,與您的主要檢出隔離。 由於工作樹的設計是透過合併到主分支整合回去,對話標頭動作選單中的發佈動作受到限制:
動作在工作樹對話中
拉取可用
推送隱藏
部署隱藏
推送與部署是預設分支的操作,請先將成果合併回去,再從主對話發佈。

合併到主分支

開啟對話標頭中的工作樹下拉選單,選擇合併到主分支。CTOR 會:
  1. 將工作樹待處理的變更提交為一個快照提交。
  2. 將工作樹的分支合併到您主要檢出中的預設分支。
主要檢出必須位於預設分支,且沒有未提交的變更。否則合併會停止,並告知您需要先修正什麼(例如,提交或暫存主要檢出的變更)。 若合併遇到衝突,會自動中止,對話框會列出衝突的檔案。請手動解決後,再次執行合併到主分支

移除工作樹

開啟工作樹下拉選單,選擇移除工作樹。這會刪除工作樹的目錄,但保留其 git 分支。 若工作樹有未提交的變更,第一次嘗試會被擋下並顯示警告。再次以捨棄變更並移除確認,即可強制移除並失去那些變更。

孤立的工作樹

若工作樹的目錄被移除(來自其他視窗,或在 CTOR 之外),對話會偵測到其檢出已不存在並轉為唯讀,顯示橫幅「此工作樹已不存在於磁碟,對話為唯讀。」對話內容仍可閱讀;切換到其他對話即可繼續作業。