git-filter-repo

重写 Git 历史的现代工具

补充说明

git-filter-repo 用于删除敏感文件、重写作者信息、拆分仓库和清理大文件。它会改写提交哈希,属于破坏性操作,必须在协调后对镜像执行。

常用示例

git filter-repo --analyze
git filter-repo --path secret.env --invert-paths
git filter-repo --path docs/ --invert-paths
git filter-repo --replace-text replacements.txt
git filter-repo --mailmap .mailmap
git filter-repo --strip-blobs-bigger-than 10M
git filter-repo --force

replacements.txt:

old-password==>REDACTED
old-email@example.com==>new-email@example.com

易错点与排错

相关命令