| 状态 | 仍可用但不推荐新项目使用,官方文档提示改用专用工具 |
|---|---|
| 示例 | git filter-branch --tree-filter <命令> HEAD |
| 替代 | git filter-repo(支持删除、替换、拆分等) |
迁移对照
迁移对照
# 旧写法(示例思路)
# git filter-branch --index-filter 'git rm --cached --ignore-unmatch secret.txt' --prune-empty HEAD
# 新工具等效写法
git filter-repo --path secret.txt --invert-paths新项目直接使用 filter-repo;老项目迁移前先在克隆上验证重写结果与文件差异。