ワンクリックで
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 开发 → 整理后推送 → 干净的历史