将一个文件从 Git 仓库历史中完全删除

更新日期: 2015-12-12 阅读次数: 1506 分类: Git

背景

无意间将一张非常大的图片(6M)提交到了 Git 仓库中,导致提交到 BitBucket 非常慢 ,所以需要将其从 Git 提交历史中完全删除。

在 BitBucket 被墙的情况下,甚至出现错误

error: RPC failed; result=55, HTTP code = 200

另外一种情况就是, 提交了敏感的信息,例如密码,key 文件等。

解决

git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch app/img/*' --prune-empty --tag-name-filter cat -- --all

提交的时候

git push origin master --force

参考

爱评论不评论