用途:引导用户从脏工作区走向清晰的提交历史,使每个提交只包含一个逻辑变更,并配有清晰的提交信息。
主要能力:先运行 git log --oneline -15 检查仓库既有提交风格,再决定是否使用 Conventional Commits;分析改动(git status、git diff、git diff --cached,必要时 git diff --stat);提出按关注点、依赖顺序、测试与配置归位的原子提交计划表;逐个提交执行,必要时用 git add -p 拆分文件内 hunk,并用 printf 脚本化 y/n 序列;提交后运行 git log --oneline 验证。
使用方式:按工作流逐步执行,先检查索引中已有暂存文件,优先使用 git commit -- <paths> -m "..." 限定路径提交;提交前用 git diff --cached --stat 核对暂存集合;若 pre-commit 钩子修改文件导致中止,先取消无关暂存、重新暂存被修改文件再提交。
适用场景:需要把混合改动整理为多个原子提交、撰写规范提交信息、拆分同一文件内不同关注点的 hunk。
限制:二进制文件无法用 git add -p 拆分;合并冲突不在本工作流处理范围;若拆分会导致中间提交无法编译或引用未定义符号,应保持该文件改动为单个提交;无改动时不创建空提交。