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 diff --cached --stat、git diff --cached、git commit -m "<message>"、git show --stat --oneline HEAD;推送时先 git fetch <remote>、git status -sb,若上游已前进则将本地提交 rebase 到其上,仅在授权推送时执行 git push -u <remote> HEAD;已推送且明确属于用户的主题分支被 rebase 后可用 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。

适用场景:需要按逻辑拆分提交、提交并推送、同步分支或直接提交默认分支的 Git 工作流。

限制:仅执行请求的 Git 动作,commit-only 在提交后停止,push-only 只推送已有提交;不涵盖 issue 评论、issue/PR 正文或标题编辑、发布、标签等远程变更;发布为 PR 属于 draft-pr。不要盲目运行 git pull --rebase;pre-commit 钩子失败表示提交未成功,除非用户明确接受风险否则不要绕过钩子;不得仅为美化历史而 amend、squash、rebase 或强推共享分支;不能仅凭本地提交输出声称推送成功。若仓库使用 jj 或其他 VCS 层,应在 Git 变更前停止并使用仓库特定的发布路径。