finishing-a-development-branch
Featured当实现完成、所有测试通过、需要决定如何集成这份工作时使用
AI & Automation 8,062 stars
752 forks Updated yesterday MIT
Install
Quality Score: 98/100
Stars 20%
Recency 20%
Frontmatter 20%
Documentation 15%
Issue Health 10%
License 10%
Description 5%
Skill Content
# 收尾一个开发分支
## 概述
**核心原则:** 验证测试 → 检测环境 → 展示选项 → 执行选择 → 清理。
**开始时宣告:** "我正在使用 finishing-a-development-branch 技能来收尾这份工作。"
## 步骤 1:验证测试
运行项目的完整测试套件(`npm test` / `cargo test` / `pytest` / `go test ./...`)。
**如果测试失败**,报告失败并停下——菜单是在测试全绿之后才出现的:
```
测试失败(<N> 个)。完成之前必须先修:
[展示失败详情]
```
**如果测试通过:** 继续步骤 2。
## 步骤 2:检测环境
```bash
GIT_DIR=$(cd "$(git rev-parse --git-dir)" 2>/dev/null && pwd -P)
GIT_COMMON=$(cd "$(git rev-parse --git-common-dir)" 2>/dev/null && pwd -P)
# 现在就捕获 —— 此刻还在工作区里面。步骤 5 会切换目录,
# 而清理(步骤 6)需要这个值
WORKTREE_PATH=$(git rev-parse --show-toplevel)
```
这决定了展示哪种菜单、以及清理方式:
| 状态 | 菜单 | 清理 |
|------|------|------|
| `GIT_DIR == GIT_COMMON`(普通仓库) | 标准 3 个选项 | 无 worktree 可清理 |
| `GIT_DIR != GIT_COMMON`,命���分支 | 标准 3 个选项 | 按来源判断(见步骤 6) |
| `GIT_DIR != GIT_COMMON`��分离 HEAD | 收敛为 2 个选项(不含合并) | 由外部管理——原地别动 |
## 步骤 3:确定基础分支
基础分支就是这份工作从哪儿分出来的那个——通常在计划里、对话里,或者分支的 upstream 里已经写明了。如果还不知道,就问:"这个分支是从 <你的最佳猜测> 分出来的,对吗?"**合并之前先确认:合并到错误的基础分支,代价很高。**
## 步骤 4:展示选项
**普通仓库和命名分支 worktree——精确展示这 3 个选项:**
```
实现已完成。你想怎么做?
1. 本地合并回 <base-branch>
2. 推送并创建 Pull Request
3. 保留分支不动(我稍后自己处理)
选哪个?
```
**分离 HEAD——精确展示这 2 个选项:**
```
实现已完成。你当前处于分离 HEAD(由外部管理的工作区)。
1. 作为新分支推送并创建 Pull Request
2. 保持原样(我稍后自己处理)
选哪个?
```
**照原文展示菜单**——简洁,每个选项都来自上面的列表。**丢弃工作只在你的人类伙伴明确提出时才发生**(见下方"如果你的人类伙伴要求丢弃这份工作")。等他们回答;集成与否是他们的决定。
## 步骤 5:执行选择
### 选项 1:本地合并
```bash
# 切到主仓库根目录,保证 CWD 安全
MAIN_ROOT=$(git -C "$(git rev-parse --git-common-dir)/.." rev-parse --show-toplevel)
cd "$MAIN_ROOT"
# 先合并 —— 在删除任何东西之前先验证...
Details
- Author
- jnMetaCode
- Repository
- jnMetaCode/superpowers-zh
- Created
- 5 months ago
- Last Updated
- yesterday
- Language
- JavaScript
- License
- MIT
Integrates with
Bundled in these plugins
Similar Skills
Semantically similar based on skill content — not just same category
AI & Automation Listed
finishing-a-development-branch
當實作完成、所有測試通過,且你需要決定如何整合這份工作成果時使用
0 Updated 1 weeks ago
shumingyang-opencode Code & Development Listed
csp-finishing-a-development-branch
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup
1 Updated yesterday
maythyai Code & Development Listed
clean-branches
清理本地和远程已合并的 Git 分支。扫描所有本地分支和远程 tracking branches,标记已合并入当前分支的分支,一次性列表让用户勾选确认后删除并验证结果。使用场景包括:分支太多要清理、合并后残留、worktree 未清理、远程 stale branches。当用户提到 清理分支/删分支/整理分支/clean branches/branch cleanup/prune branches/git clean 时务必使用。对于合并后残留的发布分支、废弃的功能分支、已修复的 bugfix 分支尤其适用。
0 Updated today
toRolex