finishing-a-development-branch

当实现已完成、所有测试通过,并且需要决定如何集成工作时使用。

提供方:obra/superpowers调用次数:4.3k收藏:209更新:2026/08/28

技能说明obra/superpowers

当实现已完成、所有测试通过,并且需要决定如何集成工作时使用。

技能简介

当功能实现已完成、所有测试通过,需要决定如何将工作集成到主分支时,此技能提供一套标准化的收尾流程。它会引导你验证测试、检测 Git 环境类型、选择集成方式(本地合并、创建 Pull Request 或保留分支),并安全清理工作区,避免遗漏或误操作。

使用场景

  • 功能开发完成、测试全过,准备集成回主分支
  • 需要决定是本地合并还是推送创建 Pull Request
  • 在 git worktree 中开发,需安全移除工作区
  • 需要彻底丢弃一个开发分支及其所有提交

使用方法

该技能由 Agent 在满足触发条件时使用。可以告诉助手:“使用 finishing-a-development-branch 技能完成收尾。” 助手会先声明:I'm using the finishing-a-development-branch skill to complete this work.

核心流程:

  1. 验证测试:运行完整测试套件(npm test / pytest 等),若有失败立即停止并报告。
  2. 检测环境:判断当前是普通仓库、命名分支 worktree 还是 detached HEAD,据此决定菜单与清理方式。
  3. 确认基础分支:确认本分支从何处分离,避免合并错目标。
  4. 呈现选项:普通仓库和命名分支 worktree 提供 3 个选项——① 本地合并回基础分支;② 推送并创建 Pull Request;③ 保持分支原样。detached HEAD 只提供 2 个选项(推送创建 PR 或保持原样)。
  5. 执行并清理:选合并时,执行 git checkoutgit merge 后重跑测试,通过后移除 worktree 并删除分支;选推送时执行 git push -u origin <feature-branch> 并创建 PR,worktree 保留供后续修改;选保持则原样保留。

注意事项

  • 测试未通过时不会继续收尾流程,必须先修复测试。
  • 丢弃分支必须由你明确要求,并输入 discard 确认,操作会永久删除分支和提交。
  • 若 worktree 移除被拒绝(含有未提交文件),不会擅自使用 --force,而是询问你提交、移动还是删除这些文件。
  • 外部环境管理的 workspace 不会被清理,会保留原样。