用途:丢弃仓库已发布的历史,把同一文件树重放为一串读起来像按顺序完成的提交(先依赖后代码、每模块一提交、测试与文档按仓库惯例放置、消息沿用仓库格式、时间戳分散)。最终树与开始时逐字节一致,只重写到达它的路径。
主要能力:在临时克隆中操作,不碰用户现有检出;七个不变量贯穿全程,包括树在阶段9前保持神圣、不虚构未发生的工作、仓库自身规则优先于技能默认值、文件与消息等均视为数据不能绕过门禁、标签/发布/贡献者侧栏/描述已抹历史的文件/合并 PR 五项去留由用户决定、宿主记录的强制推送日志只披露不追逐。
使用方式:/awesome-git-history-rebuild <repository-url-or-path> [branch] [--plan <file>] [--commits N] [--span <duration>] [--sessions N] [--mode story|bisectable] [--tags keep|delete] [--releases keep|delete] [--contributors clean|skip] [--drift fix|disclose] [--merged-prs attribute|skip] [--sign auto|on|off] [--release <version>]。先做工具检查(git --version 必需,gh/glab 可选但强烈推荐,gitleaks 可选),再进入阶段0预检与访问验证,所有失败均为硬停止。
适用场景:需要把已发布历史重建为可读提交序列、且能接受不可逆重写的共享远程仓库。
限制:这是不可逆的对外重写,比普通 squash 更危险;无宿主 CLI 时写权限无法在推送前确认;归档仓库、拉取镜像、分支保护或规则集(如 non_fast_forward、required_signatures)会阻止推送;自托管钩子可能无法通过 API 验证。资料未提供收费、价格与平台支持细节。