使用BFG移除git库中的大文件或污点提交
Git中有时会不小心提交大文件或密码到repo中,然而使用git-filter-branch清理以往的全部提交是非常复杂的。 今天介绍一个好用的工具BFG Repo-Cleaner,可以方便清理错误的二进制文件或密码文件提交。 以下命令中所有的 bfg 是 java -jar bfg.jar 的alias。
1. 克隆仓库
git clone --mirror [email protected]:OpenFibers/openfibers.github.com.git2 移除目标文件
然后就可以执行下面的任意一个或者多个操作。 从历史纪录中删除所有文件名是 id_rsa 或 id_dsa 的文件: 
bfg --delete-files id_{dsa,rsa}  my-repo.git从历史纪录中删除所有大于1M的二进制文件 :
bfg --strip-blobs-bigger-than 1M  my-repo.git从文件中删除所有列出的密码:
bfg --replace-text passwords.txt  my-repo.git删除.git目录。
bfg --delete-folders .git --delete-files .git  --no-blob-protection  my-repo.git3 推送
$ cd my-repo.git
$ git reflog expire --expire=now --all && git gc --prune=now --aggressive 
$ git push
博主你的博客做的真的很好,化了好多心事