彻底清除Github上某个文件包括它的历史记录

删除命令

1
2
3
4
5
6
7
8
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch FILE_PATH' --prune-empty --tag-name-filter cat -- --all

git push origin master --force
rm -rf .git/refs/original/
git reflog expire --expire=now --all

git gc --prune=now
git gc --aggressive --prune=now
上面的FILE_PATH要是路径而不只是文件名字

参考资料

Removing sensitive data from a repository