SuperAPI AI 工具集

awesome-git-author-rewrite

通用与其它

查看项目

更新于 10-16 06:22

技能介绍

用途:把提交上写错的身份(作者与提交者姓名/邮箱)替换为用户真正拥有的身份,然后强制推送。文件树、提交信息和日期逐字节保留,只有身份头和由此产生的提交哈希改变。

主要能力:支持按单个提交(--scope commit)或按邮箱匹配的全部提交(--scope identity)重写;可选择只改作者、只改提交者或两者(--field)。调用形式为 /awesome-git-author-rewrite <commit-url> --name '<Git Author Name>' --email 'git@email' [--scope commit|identity] [--field author|committer|both]。

使用方式:先检查 git、git filter-repo(首选引擎,缺失时回退到已弃用的 git filter-branch)及主机 CLI(GitHub 用 gh,GitLab 用 glab,其他主机可用 REST API + token)。在临时目录新建克隆,绝不操作用户现有检出;解析提交 URL、确认读权限、核对新旧身份、统计受影响提交与哈希波及范围、检查写权限、分支保护、推送保护、未合并 PR 与签名状态,然后给出确认门。确认后先做镜像备份并校验,再执行重写与强制推送。

限制:身份写在提交对象内,重写会改变该提交及所有后代提交的哈希,属于对共享远端的不可逆改写。无法影响 fork 和其他克隆,它们仍保留旧身份,其他克隆若不重置会把旧历史推回。重写会使相关签名失效。新邮箱必须是用户账号已验证地址,否则提交仍不会关联到账号。缺少主机 CLI 时部分检查无法执行,属于需明确披露的盲点。资料未提供具体收费、价格或平台支持范围等信息。