bash
# 加入要删除example.txt
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch example.txt' --prune-empty --tag-name-filter cat -- --all
官网https://git-scm.com/docs/git-filter-branch已经不建议用git filter-branch,而建议用 git filter-repo。
另外还有个工具叫bfg(beg-repo-cleaner)是一个用于清理Git仓库的开源工具。但是要用到java。
另外贴一个github中的文章:Removing sensitive data from a repository