功能
工作树
工作树会话在仓库的隔离副本中运行,因此并行代理无法相互覆盖对方的文件。工作树需要 git 仓库,位于 ~/.grok/worktrees/<repo>/<name> 下,并从当前的 HEAD 开始,包括未提交的更改。子代理 在父代理委托并行工作时也可以请求工作树隔离。
启动一个
bash
grok -w
grok --worktree=feat "refactor module X" # = keeps the prompt out of the name
grok -w --ref main "fix the flaky test" # clean checkout of the ref
grok -w -r <session-id> # resume in a fresh worktree在 TUI 中:/fork --worktree 将当前会话分叉到一个工作树中,欢迎屏幕上的 Ctrl+W 打开新建工作树对话框,而在 代理仪表板 中 Ctrl+W 会将新代理分发到工作树中。/new 和 /fork 是否提供工作树选项是可配置的 — 请参阅 TOML 值。
工作树是一个真实的 git 检出,在其基础提交上处于分离状态;可以使用普通的 git 来提交更改。
维护
工作树会一直存在,直到您将其删除:结束或删除会话会保留其工作树,gc 只在您调用时运行。
| 命令 | 功能 |
|---|---|
grok worktree list | 列出已跟踪的工作树 |
grok worktree show <id> | 显示一个工作树的详细信息 |
grok worktree rm <ids...> | 删除工作树(使用 --dry-run 预览) |
grok worktree gc | 删除其目录已不存在的条目;--max-age 7d 还会过期未被运行进程使用的空闲工作树 |