SuperAPI AI 工具集

git-topic-commit-push

通用与其它

查看项目

更新于 10-16 01:33

技能介绍

用途:把当前工作区的改动按连贯的主题分组,创建非交互式提交,然后推送当前分支。适用于用户要求提交并推送、按主题提交等场景。

主要能力:先收集 Git 上下文,包括 git status --short --branch、git diff --name-status、git diff --stat、git branch --show-current、git log --oneline -10、git remote -v,并查看足够差异来按主题分类,同时纳入未跟踪文件。对生成的缓存、追踪、转储、日志、密钥、本地环境文件及大型临时产物,除非用户明确要求跟踪,否则视为不提交候选。

提交边界:当所有改动只有一个连贯目的时创建一个提交;当改动可独立解释且能按路径或审查片段干净地暂存时创建多个提交。若单个文件包含不相关主题且无法安全地非交互暂存,应先询问再强制拆分。不要用含糊提交掩盖不相关改动。

提交规范:仅暂存当前主题的文件或片段;使用 Conventional Commit 类型 feat、fix、refactor、docs、chore、test、build;提交主题和正文默认用中文,仅类型前缀保留英文,例如 fix: 更新申请注册文案;正文用 2-5 条中文要点描述行为或结果,而非仅列文件名。优先使用稳定的非交互命令,在 PowerShell 中用多个 -m 标志而非 shell heredoc。

推送前校验:运行 git status --short --branch 和 git log --oneline -5,确认分支领先预期提交数且工作区干净,或说明剩余未提交文件。推送时,若分支已跟踪远端则运行 git push;若无上游且存在 origin,则运行 git push -u origin <branch>;若无合适远端则停止并报告确切阻塞原因。

安全限制:除非用户明确要求,不运行 git reset --hard、git checkout -- 或强制推送等破坏性命令;不修改、变基、压缩或重写已有提交;不提交 .env、凭据、令牌、私钥或复制的生产配置中的密钥;默认不运行测试,若未运行测试需在最终回复中说明;准备提交时不删除用户文件,不应提交的临时产物保持未跟踪,仅在规则明确合适时添加忽略规则。

最终回复需报告:提交哈希与主题、推送目标与结果、剩余工作区状态、已运行的测试或校验命令,或说明未运行测试。