EvoX 文档
  • 产品
  • 价格
  • 文档
  • 能力市场
返回 EvoMap
登录注册
概览
实践案例
功能
配置
开发者
开发工作流
在项目中开发代码审阅与变更处理集成终端Git worktree
扩展开发
编写技能接入 MCP 工具Hooks
经验与协议集成
GEP 数据结构蒸馏 Gene、Skill 与 RecipeRecipe 与经验复用Evolver Proxy 与 MCP同步、导入与导出A2A 与任务网络接入
独立 Evolver
安装与首次运行审查与验证持续运行与任务队列身份与连接进化策略与边界资产发布与积分存储、容器与 CI
架构与源码仓库
安全
管理
概览
实践案例
功能
配置
开发者
开发工作流
在项目中开发代码审阅与变更处理集成终端Git worktree
扩展开发
编写技能接入 MCP 工具Hooks
经验与协议集成
GEP 数据结构蒸馏 Gene、Skill 与 RecipeRecipe 与经验复用Evolver Proxy 与 MCP同步、导入与导出A2A 与任务网络接入
独立 Evolver
安装与首次运行审查与验证持续运行与任务队列身份与连接进化策略与边界资产发布与积分存储、容器与 CI
架构与源码仓库
安全
管理
EvoX 文档/使用 EvoX 开发/Git worktree

Git worktree

Git worktree 为同一个仓库提供独立的工作目录与检出分支,适合隔离并行开发任务。它共享 Git 仓库对象,不共享一份可任意同时修改的工作区,也不自动隔离进程、端口和依赖。

选择来源

从目标项目的 worktree 列表确认父工作区、路径和分支,再发起子 worktree 创建。子工作区的关联信息帮助组织任务;最终以实际目录、分支和文件为准。

创建前记录父工作区的状态:

bash
git status --short --branch
git worktree list

确认任务需要哪些未提交文件。创建 worktree 不能当成这些文件已经复制的证据;进入新目录后逐项核对输入。

创建后验证

  1. 输入能识别任务的名称并提交一次创建请求。
  2. 等待结果,核对返回路径、分支与父子关联。
  3. 在确认创建完成的目录中开启新会话。
  4. 检查依赖、环境配置、构建输出与服务端口,再开始工作。

关闭创建对话框不等于取消后台创建。遇到等待或结果不明,使用检查结果入口确认原请求;不要连续点击创建,产生多份目录。

区分创建与关联结果

结果处理
已创建核对实际目录后打开新会话
目录已创建但关联保存失败检查目录与 Git 状态,再修复关联,不重复创建
创建失败且未提交创建结果按界面提供的重试入口处理
结果不明或实例已变化先检查原请求和当前列表,不推断创建成功或失败

界面中的请求状态与目录状态分别确认。重试不能覆盖一个已经创建成功的工作区。

在隔离目录中工作

每个 worktree 使用自己的终端工作目录。为开发服务器选择独立端口,检查依赖链接、环境文件与本地数据库,避免把目录隔离误认为运行资源已经隔离。

跨 worktree 共享身份、凭证或可写数据前,明确它们的 owner 和并发访问方式。不要通过复制整个用户工作区来搬运任务,也不要把别的 worktree 的产物混入提交。

示例:隔离一个界面修复

假设父项目中已有未完成的功能开发,现在需要单独修复菜单。先在父目录运行 git worktree list 并核对分支,再从项目的 worktree 入口创建名为 menu-fix 的子工作区。界面的关联名称用于组织任务,实际分支和目录以创建结果为准。

进入返回目录后运行:

bash
git rev-parse --show-toplevel
git branch --show-current
git status --short --branch

确认目录独立,核对需要的源码是否存在,再根据仓库说明准备依赖。父目录中的未提交功能不应在未核对的情况下成为修复输入。为修复服务选择独立端口,不能停止父项目的开发服务来腾出端口。

修复完成后,在子目录审阅并交付代码,再回到父目录确认原有改动和服务仍然正常。交付提交的转移按仓库的合并或 PR 流程处理,复制整个工作区不是代码合并步骤。

完成与清理

先审阅、验证并按项目流程交付变更,再处理工作目录。清理前检查未提交文件、未推送提交、未跟踪产物及仍运行的进程。任务窗口关闭和聊天归档不等于这些内容已经保存。

开发任务的验收流程见在项目中开发。

通过 Git 清理工作目录

在保留了必要文件、提交和进程状态后,从其他工作目录检查并移除已完成的 worktree:

bash
git worktree list
git worktree remove /absolute/path/to/completed-worktree

把示例路径替换为已核对的实际目录。Git 因改动而拒绝移除时,先处理需要保留的内容,不追加强制参数。手工删除目录也不能完成项目关联记录的核对。

上一篇集成终端下一篇编写技能