SuperAPI AI 工具集

using-git-worktrees

编程与开发

查看项目

更新于 10-16 03:17

技能介绍

用途:在开始需要与当前工作区隔离的功能开发,或执行实现计划前,确保存在一个隔离的工作区。核心原则是先检测已有隔离,再优先使用平台原生工具,最后才回退到 git。

主要能力与流程:

  1. 检测已有隔离(Step 0):通过比较 git rev-parse --git-dir 与 --git-common-dir 判断是否已在链接工作树中;用 git rev-parse --show-superproject-working-tree 排除子模块误判。若已在链接工作树则跳过创建,直接进入项目设置;若在普通仓库且用户未声明偏好,需先征得同意再创建。
  2. 创建工作区(Step 1):优先使用原生 worktree 工具(如 EnterWorktree、WorktreeCreate、/worktree 命令或 --worktree 标志);无原生工具时才用 git worktree add 回退。目录选择优先级为:用户明确指定 > 项目内已有的 .worktrees/ > worktrees/ > 默认 .worktrees/。创建前必须用 git check-ignore 验证目录已被忽略,否则加入 .gitignore 并提交。
  3. 项目设置(Step 2):按 package.json、Cargo.toml、requirements.txt、pyproject.toml、go.mod 自动运行对应安装命令。
  4. 验证干净基线(Step 3):运行项目测试,失败则报告并询问是否继续。
  5. 退出工作树(Step 4):完成后优先使用原生 ExitWorktree 工具清理,无原生工具时才用 git worktree remove。

限制与注意:若 git worktree add 因沙箱权限失败,应告知用户并在当前目录继续;无对应包管理文件则跳过依赖安装;基线测试失败时是否继续由用户决定。资料未提供具体收费、平台支持范围等信息。