一、工作树的核心作用
工作树可以让不同的任务在相互隔离的 Git 环境中执行,避免并行开发时产生代码冲突。
典型场景:
- 任务 A:开发新功能(如用户权限模块)
- 任务 B:修复紧急漏洞(如线上登录 bug)
两个任务同时进行,互不影响,主工作目录保持整洁。
二、名词解释
| 名词 | 说明 |
|---|---|
| 工作树 | Git 原生机制,允许单个代码仓库同时拥有多个独立的工作目录,每个目录可检出不同分支 |
| 工作树分支 | 某个工作树检出的 Git 分支,决定目录里显示哪条分支的代码(例如feat-pet-shop-1sfbnt) |
| 工作树目录 | 与工作树关联的本地文件夹路径,名称与工作树分支名一致(格式:/{worktree_branch_name}) |
三、适用范围与前置条件
- 适用范围:仅适用于本地环境中运行的任务(云端环境不支持)
- 前置条件:确保本地已安装 Git
四、核心功能
1. 创建工作树
操作步骤:
- 发起任务前,在对话输入框左下角,将运行模式切换为工作树
- 启动任务后,智能体自动为该任务创建专属的工作树分支和目录
- 对话输入框顶部会显示带工作树标记的新分支名
2. 合并代码
工作树中编码完成后,可将代码合并到主分支或其他目标分支,有两种方式:
| 合并方式 | 操作 | 说明 |
|---|---|---|
| AI 自动合并 | 点击分支栏的"AI 合并"按钮 | AI 自动分析变更、解决冲突、完成合并 |
| 手动合并 | 点击分支栏的···→ “手动合并” | 按界面指引操作;出现冲突时需先点击"AI 解决冲突" |
合并完成后,对话流底部会显示"代码已合并"分割线,分割线上方内容无法回退。
3. 查看磁盘占用
- 前往设置 > 工作树
- 在"工作树磁盘占用"区域,查看所有项目下各工作树的磁盘空间占用
4. 清理工作树(三种方式)
清理工作树会彻底删除本地目录释放磁盘空间,但会保留对话历史和代码变更记录。还可选择是否保留 Git 分支。
| 清理方式 | 操作路径 |
|---|---|
| 方式一:任务列表清理 | 左侧任务栏 → 悬停目标任务 → 点击···→ 选择"删除工作树" |
| 方式二:设置中心清理 | 设置 > 工作树→ 选择工作树 → 点击右下角"清理"按钮 |
| 方式三:分支栏清理 | 对话框顶部工作树分支栏 →···→ “删除工作树”(或合并完成后直接显示"删除工作树"按钮) |
提示:若保留 Git 分支,后续仍可在设置中心彻底清理该分支。
五、相关设置项
前往设置 > 工作树,可配置:
| 设置项 | 作用 |
|---|---|
| 清理工作树时默认保留分支 | 启用后,删除工作树的确认弹窗中默认勾选"保留工作树分支" |
| 工作树磁盘空间占用提醒 | 设置阈值,所有工作树目录总占用达到阈值时发出通知提醒清理 |
官方文档:工作树