mcpField
M
manage-worktrees

manage-worktrees

github.com/klausborges开发1110 次安装1 周前更新
代码仓库

关于 manage-worktrees

用于管理 Git worktree 的技能,涵盖是否需要隔离、创建和清理。它规定存放位置,并要求在分支内容已推送或用户豁免后才移除。

主要功能

  1. 01检测当前检出是否为 worktree
  2. 02优先使用运行环境原生工具
  3. 03在 `.worktrees/` 下创建 worktree
  4. 04为构建或测试安装依赖
  5. 05移除 worktree 并清理注册记录

适用场景

  1. 01隔离并行 Agent 的工作
  2. 02在被占用的检出旁开展工作
  3. 03清理已合并或放弃的分支

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/klausborges/workflow-skills --skill manage-worktrees

安装后在 Claude Code 中输入/manage-worktrees确认已加载。

附带文件agents/openai.yamlskill.toml

详细介绍

管理工作树

位置规则遵循 git-conventions 技能。工作树为可选项:在需要隔离时使用(例如并行 Agent,或在已有检出旁工作),否则直接在当前目录操作。

工作流

  1. 先检测是否已隔离:当 git rev-parse --git-dir 和 --git-common-dir 的结果不同时,且 git rev-parse --show-superproject-working-tree 没有输出时,当前目录已经是工作树;直接使用并跳过创建。
  2. 如果有可用的原生工作树工具,优先使用;它会自行管理位置和清理。
  3. 手动回退方案:确认 .worktrees/ 已被忽略(git check-ignore -q .worktrees/wt;如果尚未忽略,将其添加到 .gitignore 并提交),然后对现有分支运行 git worktree add .worktrees/<flattened-branch> <branch>,创建新分支时添加 -b <branch>。
  4. 如果工作需要构建或测试,请在新工作树中运行仓库的依赖安装流程。
  5. 分支合并或放弃后进行清理:运行 git worktree remove <path>,删除分支,并对失效的登记运行 git worktree prune。不确定时,可通过 git worktree list 检查。

防护规则

  • 绝不在另一个工作树内嵌套创建工作树。
  • 仅在 .worktrees/ 或原生工具指定的目录下创建工作树;项目文件夹中不得有与工作树并列的裸目录。
  • 只有在分支最新提交可从远程访问,或用户同意豁免时,才能移除工作树。

输出

工作树路径和分支,或根据 git worktree list 执行的清理操作。

评论

支持 Markdown