如何在 Git 中真正删除一个文件

ChrAlpha 的幻想乡 at 
由于 Git 是记录修改而非记录文件的版本控制系统,这使它能够十分方便地退回到任何一个版本。而正是 Git 会记录下所有版本,想要在 Git 中删去一个文件可不像直接删除后再提交。这样还能在之前版本中找到他,万一这还是个敏感内容,该如何真正彻底从 Git 中删除一个文件呢?其实思路也很简单,使用方法将所有历史 Commit 统统修改即可。这里记录下官方 git filter-branch 方法和 BFG Repo-Cleaner 工具包的两种实现。BFG Repo-CleanerBFG Repo-Cleaner 是一款开源工具,提供了 git filter-branch 的又一实现。这种方法比……