跳转到内容

功能

工作树

工作树会话在仓库的隔离副本中运行,因此并行代理无法相互覆盖对方的文件。工作树需要 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 还会过期未被运行进程使用的空闲工作树

本文档为 docs.x.ai 全站中文翻译,由 AI 自动翻译生成。代码示例请以原文为准。