一键导入
squash
Commit 历史整理与合并。将 TDD 循环产生的多个细碎 commit 合并为有意义的功能 commit,包含安全检查、交互式 rebase 指导。用户提到 squash、整理 commit 时使用。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Commit 历史整理与合并。将 TDD 循环产生的多个细碎 commit 合并为有意义的功能 commit,包含安全检查、交互式 rebase 指导。用户提到 squash、整理 commit 时使用。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
个人笔记记录助手。自动以 JSON 格式记录想法、学习笔记、会议纪要到 ~/.note,支持标签分类和全文搜索。
对话归档技能。将当前对话流程提取并生成可重用的 skill 文件。
行为驱动开发(BDD)流程助手。用 Given-When-Then 描述验收标准,包含 Feature 文件管理、步骤定义实现。用户提到 BDD、验收测试、Gherkin 时使用。
活文档维护。智能分析项目代码,维护 docs/ 核心文档和 README.md,包含健康检查、自动更新、质量评分功能。用户提到更新文档、同步文档时使用。
GitHub CLI 专家助手,提供 gh 命令的场景化指导。用户提到 gh、GitHub CLI、创建 PR、管理 Issue 时使用。
测试驱动开发(TDD)流程助手。严格遵循红-绿-重构循环,包含会话状态管理、测试运行策略、Git 提交规范。用户提到 TDD、测试先行、红绿重构时使用。
| name | squash |
| description | Commit 历史整理与合并。将 TDD 循环产生的多个细碎 commit 合并为有意义的功能 commit,包含安全检查、交互式 rebase 指导。用户提到 squash、整理 commit 时使用。 |
| user-invocable | true |
TDD 产生的小 commit 应该在功能完成后整理
将 TDD 循环产生的多个细碎 commit 合并为有意义的功能 commit。
/squash # 交互式引导(自动安全检查)
/squash feature # 合并单个功能的所有 commit
/squash abort # 中止 rebase
⚠️ 安全警告:Squash 仅适用于本地未推送的 commit。
| 检查 | 命令 | 安全 | 危险 |
|---|---|---|---|
| 保护分支 | git branch --show-current | feature/* | main/master |
| 未推送 | git log @{u}.. | 有输出 | 无输出 |
Golden Rule:只整理本地未推送的 commit。
# 查看最近 commit
git log --oneline -10
# 合并最近 6 个 commit
git rebase -i HEAD~6
| 命令 | 说明 |
|---|---|
pick | 保留此 commit |
squash | 合并到前一个 commit |
fixup | 合并到前一个,丢弃 message |
drop | 删除此 commit |
Before:
pick abc1234 test: 添加订单测试
pick def5678 feat: 实现订单功能
pick ghi9012 refactor: 提取验证函数
After:
pick abc1234 test: 添加订单测试
fixup def5678 feat: 实现订单功能
fixup ghi9012 refactor: 提取验证函数
# 方式 A:软重置后重新提交
git reset --soft HEAD~4
git commit -m "feat: 实现完整功能"
# 方式 B:自动 fixup
GIT_SEQUENCE_EDITOR="sed -i '2,$s/^pick/fixup/'" git rebase -i HEAD~4
git push --force-with-lease origin feature-branch
| 命令 | 说明 |
|---|---|
--force-with-lease | 推荐:如果远程有新提交则失败 |
--force / -f | 强制覆盖,可能丢失他人提交 |
# 放弃 rebase
git rebase --abort
# 恢复到 rebase 前的状态
git reflog
git reset --hard HEAD@{N}
# 快速清理(推荐)
git gc --prune=now
# 激进清理(.git 过大时)
git gc --aggressive --prune=now
小 commit 开发 → 整理后推送 → 干净的历史