何时使用
- 实现完成
- 所有测试通过
- 需要决定如何集成工作
finishing-a-development-branch 是通过提供清晰选项并执行选定工作流来指导完成开发工作的 Skill。
核心原则:
验证测试 → 提供选项 → 执行选择 → 清理。
在提供选项之前,验证测试通过:
# 运行项目测试套件npm test / cargo test / pytest / go test ./...如果测试失败:
测试失败 (<N> 个失败)。必须在完成前修复:
[显示失败]
在测试通过前无法继续合并/PR。停下来。不要进入步骤 2。
如果测试通过:继续步骤 2。
# 尝试常见基础分支git merge-base HEAD main 2>/dev/null || git merge-base HEAD master 2>/dev/null或询问:“这个分支从 main 分出 —— 正确吗?“
正好提供这 4 个选项:
实现完成。你想怎么做?
1. 在本地合并回 <base-branch>2. 推送并创建 Pull Request3. 保持分支原样(我稍后处理)4. 放弃这项工作
哪个选项?不要添加解释 —— 保持选项简洁。
# 切换到基础分支git checkout <base-branch>
# 拉取最新git pull
# 合并功能分支git merge <feature-branch>
# 验证合并后的测试<test command>
# 如果测试通过git branch -d <feature-branch>然后:清理 worktree(步骤 5)
# 推送分支git push -u origin <feature-branch>
# 创建 PRgh pr create --title "<title>" --body "$(cat <<'EOF'## 总结<2-3 行关于改了什么>
## 测试计划- [ ] <验证步骤>EOF)"然后:清理 worktree(步骤 5)
报告:“保持分支 <name>。Worktree 保留在 <path>。”
不要清理 worktree。
先确认:
这将永久删除:- 分支 `<name>`- 所有提交:<commit-list>- Worktree 在 `<path>`
输入 'discard' 确认。等待确切确认。
如果确认:
git checkout <base-branch>git branch -D <feature-branch>然后:清理 worktree(步骤 5)
对于选项 1、2、4:
检查是否在 worktree 中:
git worktree list | grep $(git branch --show-current)如果是:
git worktree remove <worktree-path>对于选项 3: 保留 worktree。
| 错误 | 问题 | 修复 |
|---|---|---|
| 跳过测试验证 | 合并坏代码,创建失败 PR | 始终在提供选项前验证测试 |
| 开放式问题 | ”接下来做什么?” → 模糊 | 提供正好 4 个结构化选项 |
| 自动清理 worktree | 删除可能需要的 worktree(选项 2、3) | 只为选项 1 和 4 清理 |
| 放弃不确认 | 意外删除工作 | 要求输入 ‘discard’ 确认 |
何时使用
关键要点
4 个选项
禁止
subagent-driven-development 或 executing-plans(任务完成后)。using-git-worktrees(清理该 skill 创建的 worktree)。查看源文件: GitHub原始文件