SuperAPI AI 工具集

ajiang-git-commit-pr

编程与开发

查看项目

更新于 10-16 12:15

技能介绍

用途

该技能面向代码提交与 PR 创建流程,按任务需要区分三种模式:仅提交、创建 PR、提交并创建 PR。若只要求 push,则在检查待推送提交与远程目标后执行推送。

共同规则

只处理本次任务的改动,保护已有用户修改;不自动执行 reset、clean、stash,也不覆盖无关工作。提交、push、创建 PR 和合并均遵循当前授权。创建 PR 只包含发布所需的来源分支,不包含把改动直接合进目标分支。提交信息和 PR 说明保持简洁、沿项目风格,不添加 AI 署名、生成标记或无关邮箱地址。不提交凭证,不擅自 force push、修改 Git 配置或绕过 hook。没有改动时不创建空提交。

模式一:仅提交

读取项目 Git 规则,运行 git status、git diff、git diff --cached 和 git log --oneline -5,确认仓库、分支、改动范围和提交风格。若不是 Git 仓库,说明原因,不自行初始化。运行与待提交内容相关的检查;已有脏文件影响结果时,必要时在隔离副本验证。用具体文件路径暂存本次改动;同文件混有无关修改时分离本次部分,不直接使用 git add -A;归属无法安全判断时说明具体问题。检查暂存差异并提交;提交信息描述实际变化,只引用真实 issue,不同目的的改动按需分提交。提交后检查 git status 和提交 SHA;hook 失败时修复相关原因后重试,不绕过检查,也不为此 amend 已有提交。

模式二:创建 PR

确认来源分支、PR 的目标仓库、目标远程与目标分支。按用户指定、项目规则或现有 PR 确定,不能默认是本地 main 或 origin/main;目标不明确时再询问。必须先完成与最新上游同步及业务冲突检查:fetch 最新目标,将其集成到 PR 分支,核查文本和业务冲突,并验证集成后的结果,普通目录、worktree 和 fork 都执行这一步。查看最新目标与来源分支之间的提交和完整差异,确认 PR 只包含本次范围;只要求创建 PR 时,不顺手提交来源不明的未提交改动。用简短标题与说明写清问题、最终行为和实际验证;多行说明写入文件,通过 gh pr create --body-file 传入,不写讨论历史或未实施方案。发布前再次 fetch 并核对目标 SHA;若目标已前进,重新同步、核查和验证受影响路径,再推送来源分支并创建 PR。未解决的冲突或关键验证失败不能报告成已完成的 PR;无法继续时交付具体阻断。明确指定目标仓库、base 和 head 创建 PR,检查真实 URL。报告所验证的目标 SHA、最终来源 SHA 与 PR URL;不能拿旧目标的通过替代当前结果。

模式三:提交并创建 PR

先按模式一提交,再按模式二同步、验证和创建 PR。不能因为刚做过提交前检查,就跳过最新上游的集成验证。

需要合并目标分支时

仅在任务包含合并时执行。检查目标 worktree 与已有修改,按项目策略合并并验证最终目标状态;不能硬改已检出目标的引用,也不能把 PR 分支验证自动当成目标合并后的验证。

输出结果

报告完成的操作、提交 SHA、推送分支或 PR URL,以及未完成项。需要检查 CI 时确认实际结果,本地检查与远程 CI 分开报告。多次提交或合并可用 Git 操作记录保存范围、版本和验证结果。