工作树
工作树会话在仓库的隔离副本中运行,因此并行智能体不会互相覆盖文件。工作树需要 git 仓库,位于 ~/.grok/worktrees/<repo>/<name> 下,从当前 HEAD 开始,包括未提交的更改。
启动工作树
grok -w
grok --worktree=feat "refactor module X" # = 将提示排除在名称之外
grok -w --ref main "fix the flaky test" # 干净的 ref 检出
grok -w -r <session-id> # 在新工作树中恢复在 TUI 中:/fork --worktree 将当前会话分叉到工作树中,欢迎屏幕上的 Ctrl+W 打开新工作树对话框,Agent 仪表板中的 Ctrl+W 将新智能体分派到工作树中。/new 和 /fork 是否提供工作树是可配置的。
工作树是真正的 git 检出,在其基础提交处分离;用普通 git 命令合入更改。
维护
工作树在移除之前一直存在:结束或删除会话不会移除其工作树,gc 仅在你调用时运行。
| 命令 | 功能 |
|---|---|
grok worktree list | 列出跟踪的工作树 |
grok worktree show <id> | 显示某个工作树的详情 |
grok worktree rm <ids...> | 移除工作树(--dry-run 预览) |
grok worktree gc | 移除目录已不存在的条目;--max-age 7d 还会过期未被运行进程使用的空闲工作树 |