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

发布时间: 2015-12-12 20:45:34 作者: 大象笔记

背景

无意间将一张非常大的图片(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

参考

我是一名山东烟台的开发者,联系作者