SuperAPI AI 工具集

git-master

编程与开发

查看项目

更新于 10-15 20:13

技能介绍

用途:当用户要求操作 Git 历史或回答 Git 历史问题时使用该技能,要求精确、保守、以证据为先,先读取仓库状态再作推断。

模式门控:先将请求分类为 COMMIT(暂存并提交本地改动)、REBASE(变基、压缩、fixup、autosquash、重排、拆分或改写分支历史)、HISTORY(回答何时、何处、何人、为何或哪个提交改动了某内容)、STATUS(只检查分支、diff 或工作区状态而不改动)。除非用户明确要求,否则不提交、不变基、不推送、不强制推送、不重置、不 stash-pop、不删除任何内容;若仅为调查性请求,报告发现后即停止。

事实依据:在工具允许时并行收集独立事实,如 git status --short、git diff --stat、git diff --staged --stat、git branch --show-current、git log -30 --oneline、git log -30 --pretty=format:%s、git rev-parse --abbrev-ref @{upstream}、git merge-base HEAD origin/main、git merge-base HEAD origin/master。缺少 upstream 或 main/master 属正常,回退到最佳可用分支或报告缺失事实,绝不把查询失败当作证据。

PR 正文证据附件:需要截图或终端 PNG 时,使用仓库参考 docs/reference/github-attachment-upload.md。允许的托管路径是经认证网页附件流程产生的 GitHub 用户附件;绝不提交临时图片,绝不用 GitHub Releases 作为 PR 证据,绝不用外部图床,不记录浏览器 cookie、CSRF 令牌、S3 表单字段或上传头。

提交模式:只提交用户要求的改动,保留无关的脏工作。从近期历史检测消息风格,使用本地主导模式、语言和大小写,除非仓库使用 Conventional Commits 否则不默认采用。检查完整 diff 而非仅文件名,将无关用户编辑与请求提交分离。按行为、模块和可回滚性构建原子分组,实现与其直接测试放在一起。无关关注点优先多次提交;仅当改动文件构成不可分割行为或用户明确要求时才单次提交。按路径或 hunk 暂存,使每次提交只含其原子组。每次提交前用 git diff --staged --stat 及足够暂存 diff 验证分组正确,按检测风格提交,提交后用 git log -1 --oneline 验证。分组规则:拆分不同功能、模块、生成产物、配置、文档和仅测试改动,除非不可分割;当省略会导致仓库不一致时,将生成文件与产生它的源改动放在一起;绝不把失败或无关改动藏进宽泛提交。最终报告列出提交哈希、消息和剩余未提交文件。

变基模式:历史改写是影响共享的操作。除非用户明确指名该操作,否则不变基或改写 main、master、dev、release 或受保护分支。若提交可能已推送,强制推送前先询问,使用 --force-with-lease 而非普通 --force。工作区脏时在变基前有意保留,不在未检查改动的情况下 stash-pop 覆盖冲突。fixup 优先用 git commit --fixup=<hash> 后接 GIT_SEQUENCE_EDITOR=: git rebase -i --autosquash <base>。冲突时阅读冲突文件按意图解决,不盲目选择 ours/theirs。变基出错先 git rebase --abort,仅在说明恢复路径后才用 reflog。改写后运行相关测试或至少项目最便宜的冒烟检查,然后展示从 base 到 HEAD 的新分支日志。

历史模式:按问题选择工具。git log -S "text" 用于精确字符串计数变化;git log -G "regex" 用于 diff 触及匹配模式的行;git blame -L start,end -- file 用于特定行的最后修改者;git log --follow -- file 用于单文件跨重命名历史;git show <hash> 检查相关提交;git bisect 在有确定性通过/失败命令且已知好/坏边界时找首个坏提交;git reflog 恢复或解释近期本地历史移动。回答中始终引用确切命令证据:提交哈希、主题、文件路径及相关行或 diff 上下文;证据含糊时说明仍未证实之处。

安全检查:任何写入 Git 历史前,确认当前分支已知、脏工作已处理、上游/推送状态已知或明确未知、操作匹配用户请求、恢复路径已知(rebase --abort、reflog 哈希或未动工作区)。完成前运行与改动行为或历史操作最相关的可用验证,报告通过的命令及无法运行的命令,并明确说明工作区状态。

限制:资料未提供该技能的安装方式、收费、价格、支持平台或具体效果数据。