用途:审查当前 Git 更改,按单一意图划分批次并创建独立可回滚的提交;管理提交模式与消息语言偏好;在用户明确要求时安全同步并推送分支。
主要能力:提交模式支持 default、review、direct,配置键为 git-step-commit.mode;消息语言支持 auto 或 BCP 47 标识(如 zh-CN),配置键为 git-step-commit.language。优先级依次为当前对话最近指定、当前仓库配置、全局 Git 配置、项目个性化记忆、内置默认;模式命中即停止向下回退。review 先输出审查报告并等待确认;direct 按推荐方案直接提交;default 普通提交走 review,用户说“按推荐提交”“直接提交”“无需确认”时走 direct。“提交并推送”本身不算指定模式,有效模式为 default 时本次按 direct 执行。
使用方式:设置偏好只操作 Git 配置,当前仓库用 git config --local,全局用 git config --global,写入用 --replace-all,删除用 --unset-all 或 --remove-section,改后读回验证。个性化记忆默认关闭,使用 scripts/ 下匹配操作系统的 commit-memory-* 二进制,支持 enable、disable、status --repo、record-direct --repo、forget --repo。状态目录为 ${XDG_STATE_HOME:-$HOME/.local/state}/git-step-commit,可用 GIT_STEP_COMMIT_STATE_DIR 覆盖。仅当用户明确说直接提交、至少一个提交成功且未说“仅这次”时记录一次;累计三次合格成功后才学习 direct。
适用场景:需要把混杂改动拆成可审查提交、维护统一提交语言与格式、或在有 upstream 前提下同步推送时。
限制:不会覆盖或顺手提交无关修改;默认不加 AI 署名;仅在用户给出 Issue 编号时才在 body 写 Closes #123;疑似凭据、归属不明、必要测试失败、冲突或异常 hook 时停止;不使用丢失内容或改写历史的命令,不默认 amend、force push 或交互式 rebase;仅根据命令结果报告成功;远端分支推送先 git pull --rebase 再普通 git push,新分支用 git push -u;一次重试后仍被拒即停止,绝不默认强推。未提供具体价格、平台支持范围等其余信息。