SuperAPI AI 工具集

git-squash

编程与开发

查看项目

更新于 10-16 04:57

技能介绍

git-squash 是一个面向 Git 工作流的技能,用途是在将功能分支 squash 合并进 main 时保持线性历史。它适用于需要把特性分支压缩为单个提交再并入主干的场景。

主要能力包括合并前检查:确定来源分支(可通过参数传入,否则用当前分支),确认不在 main 上,检查未提交更改,验证分支存在并确认与 main 存在分叉。随后切换到 main,若存在远端则执行 git pull --ff-only;若失败则中止。使用 git merge --squash <branch> 执行压缩合并。若产生冲突,立即执行 git merge --abort,切回来源分支并建议先运行 git rebase main,随后停止。

合并成功后,提交环节不直接撰写提交信息,而是委托给 /git-commit-skill,由其处理敏感文件保护、自动暂存、多关注点分析、按 Conventional Commits 生成提交信息等完整流程。提交完成后进行验证:git log --oneline -5、git status、git diff,确认工作区干净、压缩提交位于 HEAD、无残留暂存改动。最后清理分支:用 git branch -d <branch> 安全删除本地分支,远端存在时用 git push origin --delete <branch> 删除。

主要限制与规则:只向 main 压缩合并,始终使用 --squash,不自动解决冲突,不使用 --force 或 --force-with-lease,不使用 git branch -D,任一步骤失败即停止并报告。除预检外无需用户确认,预检即安全门。命令与技能名称需保持原样。