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

更新日期: 2015-12-12 阅读次数: 1802 分类: 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

参考

爱评论不评论

近期节日

2018年08月23日 处暑
2018年08月25日 中元节
2018年08月26日 火人节
2018年09月03日 抗日胜利纪念日
2018年09月08日 白露
2018年09月08日 国际扫盲日
2018年09月10日 教师节
2018年09月16日 国际臭氧层保护日
2018年09月16日 世界清洁地球日
2018年09月18日 "九一八"事变纪念日
2018年09月20日 国际爱牙日
2018年09月21日 国际和平日
查看更多节日