SuperAPI AI 工具集

git-worktrees-worktree-management

编程与开发

查看项目

更新于 10-16 04:08

技能介绍

Worktree Management 是一个用于管理 git worktree 的技能,主要面向由子智能体(subagents)为隔离目的创建的工作树。

用途 该技能用于集中管理子智能体创建的工作树,避免这些隔离分支长期堆积,并支持将完成的工作回收合并到主分支。

主要能力

  • 列出工作树:执行 git worktree list 展示所有活跃工作树及其状态;对于位于 .worktrees/ 目录下的工作树,还会遍历目录并显示其最近 5 条提交记录。
  • 清理过期工作树:通过 git worktree list --porcelain 筛选出 .worktrees/ 下的工作树路径并逐个执行 git worktree remove,随后执行 git worktree prune 清理失效条目。
  • 合并工作成果:针对指定工作树,先获取其 HEAD 提交,然后用 git cherry-pick 挑选提交,或使用 git merge --no-ff 创建合并提交将工作整合进主工作树,合并成功后移除该工作树。

使用方式 命令格式为:/worktree-management [list|prune|merge]。

列表实现示例: git worktree list

for wt in .worktrees/*/; do if [ -d "$wt" ]; then echo "=== $(basename "$wt") ===" git -C "$wt" log --oneline -5 echo "" fi done

清理实现示例:

git worktree list --porcelain | grep "^worktree " | grep ".worktrees/" | while read -r line; do wt_path="${line#worktree }" git worktree remove "$wt_path" done

git worktree prune

合并实现示例: WORKTREE_NAME="agent-xxx" WORKTREE_BRANCH=$(git -C ".worktrees/${WORKTREE_NAME}" rev-parse HEAD)

git cherry-pick "${WORKTREE_BRANCH}"

或: git merge "${WORKTREE_BRANCH}" --no-ff -m "merge: integrate work from ${WORKTREE_NAME}"

清理: git worktree remove ".worktrees/${WORKTREE_NAME}"

适用场景 适用于使用子智能体在隔离工作树中并行开发、且需要定期查看、回收或清理这些工作树的 Git 工作流。

限制 资料未提供关于平台、收费、价格或效果等方面的信息;上述功能范围仅限于所描述的三个操作(list、prune、merge)。