关于 manage-worktrees
用于管理 Git worktree 的技能,涵盖是否需要隔离、创建和清理。它规定存放位置,并要求在分支内容已推送或用户豁免后才移除。
主要功能
- 01检测当前检出是否为 worktree
- 02优先使用运行环境原生工具
- 03在 `.worktrees/` 下创建 worktree
- 04为构建或测试安装依赖
- 05移除 worktree 并清理注册记录
适用场景
- 01隔离并行 Agent 的工作
- 02在被占用的检出旁开展工作
- 03清理已合并或放弃的分支
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ klausborges/ workflow-skills --skill manage-worktrees安装后在 Claude Code 中输入/manage-worktrees确认已加载。
附带文件agents/openai.yamlskill.toml
详细介绍
管理工作树
位置规则遵循 git-conventions 技能。工作树为可选项:在需要隔离时使用(例如并行 Agent,或在已有检出旁工作),否则直接在当前目录操作。
工作流
- 先检测是否已隔离:当
git rev-parse --git-dir和--git-common-dir的结果不同时,且git rev-parse --show-superproject-working-tree没有输出时,当前目录已经是工作树;直接使用并跳过创建。 - 如果有可用的原生工作树工具,优先使用;它会自行管理位置和清理。
- 手动回退方案:确认
.worktrees/已被忽略(git check-ignore -q .worktrees/wt;如果尚未忽略,将其添加到.gitignore并提交),然后对现有分支运行git worktree add .worktrees/<flattened-branch> <branch>,创建新分支时添加-b <branch>。 - 如果工作需要构建或测试,请在新工作树中运行仓库的依赖安装流程。
- 分支合并或放弃后进行清理:运行
git worktree remove <path>,删除分支,并对失效的登记运行git worktree prune。不确定时,可通过git worktree list检查。
防护规则
- 绝不在另一个工作树内嵌套创建工作树。
- 仅在
.worktrees/或原生工具指定的目录下创建工作树;项目文件夹中不得有与工作树并列的裸目录。 - 只有在分支最新提交可从远程访问,或用户同意豁免时,才能移除工作树。
输出
工作树路径和分支,或根据 git worktree list 执行的清理操作。
评论
支持 Markdown