finishing-a-development-branch

工程开发 社区 @obra
信任分
88/100
兼容 Agent
1
速查档案 只列事实:领域、Agent、信任分、作者、原文章节。装与不装请看下方作者解读。
领域
工程开发
兼容 Agent
Claude Code
信任分
88 / 100 · 社区维护
作者 / 版本 / 许可
@obra · 未声明 license
安装命令数
1 条

需要注意: 未限定 allowed-tools,默认拥有全部工具权限。

想读作者英文原文? ↓ 滚到正文区切换 · 在 GitHub 查看 ↗

解读由编辑根据原文凝练而成,命令、链接、术语均与作者原文一致;想看完整论述请切到右侧

设计思路

finishing-a-development-branch 是 superpowers 的「开发完成扫尾」skill——按一份精确的 4 选项菜单完成分支收尾,避免「合并到主分支后 CI 挂」「worktree 残留」「分支白白挂着」这类常见烂尾。作者把它做成 mechanical 的决策树,每一步都对应明确条件,不留发挥空间。

4 选项(detached HEAD 时降到 3 选项)

选项 Merge Push Keep Worktree Cleanup Branch
1. Merge locally yes - - yes
2. Create PR - yes yes -
3. Keep as-is - - yes -
4. Discard - - - yes(force)

关键纪律

  • 选 1 / 选 4 才清 worktree——选 2 用户后续 PR iteration 还要用,别动。
  • 先 merge 再 remove worktree 再 delete branch——git branch -d 在 worktree 还引用这个分支时会失败。
  • cd 回主仓再跑 git worktree remove——在 worktree 内部跑会静默失败。
  • 跑完 git worktree prune 自愈清理 stale 注册。
  • Discard(选 4)必须打字 "discard" 二次确认——防误删。

Worktree 归属判断

只清理 .worktrees/ / worktrees/ / ~/.config/superpowers/worktrees/ 这三种自创的 worktree。harness 创的(IDE / 平台拥有的)绝不动——会留下幻影状态。

常见错误(按作者原文摘录)

  • 跳过测试验证:合了挂代码或开了挂的 PR——所以提供选项前先验证。
  • 开放式问题:「你下一步想做什么?」——必须给精确 4 选项。
  • 删 branch 之前不删 worktreebranch -d 失败。
  • 在 worktree 内跑 git worktree remove:静默失败——必须 cd 回主仓再跑。
  • Discard 没二次确认:手滑就丢工作。

Red Flags(永远不做)

  • 测试挂还往下走
  • merge 完不再验测
  • 不让用户确认就删工作
  • 没明确许可就 force-push
  • 没确认 merge 成功就删 worktree
  • 清不是自己造的 worktree(provenance check)

适合谁

  • 完成 task 后想稳妥收尾的工程师
  • 多 worktree 工作流的核心收尾节点
  • 团队有「PR 创建标准化」要求的项目

何时不该用

  • 还在开发中——这是终点,不是中途
  • 不在 git 仓库——大量步骤无效

配套

writing-plans(开始)→ executing-plans(执行)→ finishing-a-development-branch(收尾);多 worktree 时用 using-git-worktrees 协同。