技能finishing-a-development-branch
F

finishing-a-development-branch

在实现完成、所有测试通过,且需决定如何整合工作时使用——通过提供合并、拉取请求或清理的结构化选项,指导开发工作的完成。

Finishing a Development Branch - 完成开发分支的智能向导

技能概述

当开发任务完成、所有测试通过后,Finishing a Development Branch 技能会引导你完成代码集成工作——通过结构化的选项帮助你决定是本地合并、创建 PR、保留分支还是放弃工作。

适用场景

  1. 功能开发完成:你已经完成了一个功能分支的开发,所有测试通过,需要决定如何将代码集成到主分支

  2. 代码审查准备:你的开发工作已完成,需要创建 Pull Request 供团队审查,但不确定标准的 PR 创建流程

  3. 分支清理管理:多个开发任务完成后,需要系统性地清理本地分支和 Git worktree,保持工作区整洁

核心功能

  1. 测试验证前置检查

在展示任何选项之前,技能会自动运行项目的测试套件(npm test、cargo test、pytest、go test 等),确保只有测试通过的代码才能进入合并流程。如果测试失败,会显示具体的失败信息并阻止继续操作。

  1. 结构化选项引导

技能会提供四个明确的选项供你选择:

  • 选项1:本地合并到基础分支
  • 选项2:推送到远程并创建 Pull Request
  • 选项3:保持分支原样(稍后处理)
  • 选项4:丢弃此工作

每个选项都有清晰的执行流程说明,避免开放式问题带来的决策困扰。

  1. 安全的分支和 Worktree 清理

根据你的选择,技能会智能处理 Git worktree 的清理:

  • 本地合并或丢弃工作后会自动清理 worktree
  • 创建 PR 或保留分支时会保留 worktree 供后续使用
  • 丢弃操作需要输入 "discard" 确认,防止误删

常见问题

开发完成后必须先运行测试吗?

是的,这是强制要求。在展示任何合并选项之前,技能会自动运行项目的测试套件。如果测试失败,必须先修复所有失败的测试才能继续。这确保只有经过验证的代码才能进入主分支。

什么时候应该创建 Pull Request 而不是本地合并?

如果你需要团队代码审查、或者正在协作开发一个共享项目,应该选择创建 PR。如果是个人项目、或者你的团队采用"先合并后审查"的工作流,本地合并可能更高效。技能会根据你的选择执行相应的流程。

删除分支或丢弃工作可以撤销吗?

普通删除(git branch -d)在 Git 中通常可以恢复,但丢弃操作(git branch -D)会永久删除分支及其所有提交。因此技能对丢弃操作设置了二次确认机制——必须输入 "discard" 才能执行。如果你可能需要分支中的工作,建议选择选项3(保留分支)而不是选项4。