SuperAPI AI 工具集

commit-and-push

编程与开发

查看项目

更新于 10-15 21:52

技能介绍

用途:在用户明确要求提交、拆分提交、暂存并提交、推送、同步分支或直接提交到默认分支时使用,产出逻辑范围清晰的提交并推送指定分支,不吸收无关的用户改动。

主要能力:先检查仓库状态再改动,包括 git rev-parse --show-toplevel、git status -sb、git branch --show-current、git remote -v、git diff --stat、git diff、git diff --cached;读取 CONTRIBUTING.md 等仓库说明并参考近期提交风格,仓库与用户约定优先于本技能的默认规则。按请求与 diff 锁定范围,保留无关的已跟踪、未跟踪、已暂存和未暂存改动,显式指定路径暂存,仅在整份工作区明确属于该请求时才用 git add -A。提交前运行聚焦的相关检查,把改动拆成可独立回滚的单元,实现与其测试放在一起,前置提交排在依赖项之前。提交时用 git commit -m 并检查落地内容;推送时先 git fetch 并核对上游,必要时变基,仅在授权时推送,需要时用 git push -u <remote> HEAD,已推送且明确属于用户的主题分支变基后用 git push --force-with-lease,绝不用普通 --force。最后用 git status -sb 和 git log --oneline -n 5 验证。

提交信息:遵循仓库约定,无约定时用 <type>(<scope>): <imperative subject> 加说明原因与影响的正文,类型包括 feat、fix、refactor、docs、test、chore、ci、perf、style;默认简洁英文,除非仓库或用户另有语言约定;不添加代理品牌或 Co-Authored-By 等署名,除非明确要求。

边界与限制:只执行被请求的 Git 动作,commit-only 在提交后停止,push-only 推送已有提交,commit-and-push 两者都做;不涵盖 issue 评论、issue/PR 标题正文编辑、发布、标签等远程变更,除非同一请求明确包含。发布为 PR 属于 draft-pr,仅在明确要求时进入。不要盲目 git pull --rebase;pre-commit 钩子失败即提交未成功,只修复范围内问题并重试,除非用户明确接受风险否则不绕过钩子;不得仅为美化历史而 amend、squash、rebase 或强推共享分支;不得凭本地提交输出宣称推送成功。若仓库使用 jj 等其它版本控制层,应在 Git 变更前停止并使用仓库特定的发布路径。输出应先说明请求的 Git 动作是否成功,并包含提交哈希与主题、推送的远程与分支及是否使用跟踪或 --force-with-lease、运行的检查与结果、未运行且影响信心的项、剩余工作区状态,以及推送未完成时的确切阻塞点与最小下一步。