finishing-a-development-branch
在实现完成、所有测试通过,且需决定如何整合工作时使用——通过提供合并、拉取请求或清理的结构化选项,指导开发工作的完成。
Finishing a Development Branch - 完成开发分支的智能向导
技能概述
当开发任务完成、所有测试通过后,Finishing a Development Branch 技能会引导你完成代码集成工作——通过结构化的选项帮助你决定是本地合并、创建 PR、保留分支还是放弃工作。
适用场景
-
功能开发完成:你已经完成了一个功能分支的开发,所有测试通过,需要决定如何将代码集成到主分支
-
代码审查准备:你的开发工作已完成,需要创建 Pull Request 供团队审查,但不确定标准的 PR 创建流程
-
分支清理管理:多个开发任务完成后,需要系统性地清理本地分支和 Git worktree,保持工作区整洁
核心功能
- 测试验证前置检查
在展示任何选项之前,技能会自动运行项目的测试套件(npm test、cargo test、pytest、go test 等),确保只有测试通过的代码才能进入合并流程。如果测试失败,会显示具体的失败信息并阻止继续操作。
- 结构化选项引导
技能会提供四个明确的选项供你选择:
- 选项1:本地合并到基础分支
- 选项2:推送到远程并创建 Pull Request
- 选项3:保持分支原样(稍后处理)
- 选项4:丢弃此工作
每个选项都有清晰的执行流程说明,避免开放式问题带来的决策困扰。
- 安全的分支和 Worktree 清理
根据你的选择,技能会智能处理 Git worktree 的清理:
- 本地合并或丢弃工作后会自动清理 worktree
- 创建 PR 或保留分支时会保留 worktree 供后续使用
- 丢弃操作需要输入 "discard" 确认,防止误删
常见问题
开发完成后必须先运行测试吗?
是的,这是强制要求。在展示任何合并选项之前,技能会自动运行项目的测试套件。如果测试失败,必须先修复所有失败的测试才能继续。这确保只有经过验证的代码才能进入主分支。
什么时候应该创建 Pull Request 而不是本地合并?
如果你需要团队代码审查、或者正在协作开发一个共享项目,应该选择创建 PR。如果是个人项目、或者你的团队采用"先合并后审查"的工作流,本地合并可能更高效。技能会根据你的选择执行相应的流程。
删除分支或丢弃工作可以撤销吗?
普通删除(git branch -d)在 Git 中通常可以恢复,但丢弃操作(git branch -D)会永久删除分支及其所有提交。因此技能对丢弃操作设置了二次确认机制——必须输入 "discard" 才能执行。如果你可能需要分支中的工作,建议选择选项3(保留分支)而不是选项4。