核心心智模型Orca 是 worktree-native 的:不做「在一个 checkout 上切分支 + stash」,而是每个任务都通过
git worktree 拥有一份独立的磁盘副本。这正是并行 Agent 安全的原因。三层 ref 模型
| 层 | 是什么 | 默认值 |
|---|---|---|
| 仓库的 base ref | 每个新工作树分支的起点 | 通常 origin/main |
| 工作树的 start-from ref | 该工作树从哪个 ref 分支出来 | 通常是 base ref |
| 工作树自己的分支 | 任务的实际改动落在哪 | 由任务名派生 |
每个工作树有:自己的分支、自己的磁盘文件、自己的 Agent 终端。删除工作树会同时删除目录和分支(需确认);若分支上还有未合并提交,git 会保留分支,Orca 提供「Review N Branches」让你决定去留。
任务的生命周期
一个工作树完整经历五个阶段:
Create → Work → Review → Ship → Archive/Delete
- Create —— 任务名、start-from 选择器、可关联 GitHub PR / Linear / Jira / GitLab 链接
- Work —— Agent 终端、编辑器标签、浏览器标签、终端面板全部作用域限定在这个工作树
- Review —— 相对 start-from ref 的 diff 视图、Annotate AI Diff、Attribution(来源标注)
- Ship —— 内联 commit、push、开 PR、等 CI 检查
- Archive / Delete —— 一键删除工作树与分支
Start-from 选择器
创建工作树时选择分支起点:
- base ref(快速路径,大多数情况用它)
- 另一个本地分支 —— 适合在评审中的 PR 之上叠加工作
- 某个 commit SHA
- 已存在的远程分支 —— Orca 会 fetch 并 checkout
侧边栏的布局逻辑
- 工作树按项目分组;项目行可展开为你在推进的工作树
- 头部有筛选输入:按主机、项目、休眠状态、默认分支、CLI 创建、其他客户端等过滤
- Cmd+J Jump Palette 不受隐藏筛选影响——输入查询仍能找到被过滤掉的工作树
- 支持多选:按住
Cmd/Ctrl点击加选、Shift连续选,右键批量操作 - 右击工作树可 Archive / Sleep / Delete;
Sleep with Descendants、Delete with Descendants处理嵌套子工作树
用普通 git 操作工作树
每个 Orca 工作树都是真实 git worktree:
git worktree list # 列出全部
git -C <path> status # 查看某个工作树
git -C <path> rebase origin/main # 普通 rebase 完全可用
Orca 会在下次渲染时自动感知外部 git 变化。用 git worktree remove 手动删掉也会被识别并清理内部状态。
落地练习:检验你的理解
- 运行
git worktree list,找出 Orca 建的工作树及其目录 - 新建一个工作树,start-from 选一个指定 commit SHA
- 用
git -C <该工作树> log --oneline -3确认起点正确 - 在侧边栏试一次多选(Cmd/Ctrl+点击)并批量休眠
怎么判断做对了?——你能解释「base ref 与 start-from ref 的区别」,并说出工作树五阶段生命周期。
卡住了怎么办? 不理解 worktree 的 git 语义就先去 git help worktree;Orca 只是帮你自动执行这些命令。
小结
- 三层 ref:base ref → start-from ref → 任务分支
- 五阶段生命周期:Create → Work → Review → Ship → Archive/Delete
- 侧边栏按项目分组,支持筛选、多选、批量操作
- 工作树是真实 git worktree,普通 git 命令全能
- 删除会带走目录与分支,未合并提交会被保留并提示评审
下一节,解决「新工作树没有依赖」的问题。