SuperAPI AI 工具集

rewrite-commit-history

通用与其它

查看项目

更新于 10-16 07:26

技能介绍

用途:把功能分支上零散的 WIP 提交整理成渐进、线性的约定式提交历史,方便评审和 git bisect。

主要能力:先检查工作区是否干净(git status --porcelain),检测父分支(默认 main,可用 BASE=<branch> 覆盖,如 master、develop、staging、origin/main);创建带时间戳的备份分支 backup/${BRANCH}-${EPOCH};读取 ${BASE}..HEAD 的日志与差异,按功能、修复、重构、配置、测试、文档等逻辑单元分组;给出提交计划(类型+范围+主题及涉及文件)并等待用户确认;用 git reset --soft $(git merge-base ${BASE} HEAD) 软重置后,逐条 git add 指定文件并提交;最后用 git diff HEAD ${BACKUP} 校验树一致性,失败则 git reset --hard ${BACKUP} 恢复。

使用方式:按 7 步工作流执行,提交格式为 type(scope): subject,主题用祈使句、小写、无句号;破坏性变更在类型/范围后加 !。支持用户修改消息、重排、拆分或合并提交。

适用场景:开 PR 前清理提交历史,或把历史改写为约定式提交。

限制:工作区不干净时中止;基础分支判断错误会导致差异与提交错误;未分配文件会导致树一致性校验失败;不适用于仅写单条提交消息或简单 squash 最近几次提交的场景。备份分支需用户确认后自行删除。