Skip to main content

06.如何删除历史上的文件

1 场景说明

也许在git的记录中提交过一些文件,由于已经没用了,想删除的很彻底,历史记录也不想要的那种,就好比,不仅想让人滚,还得从记忆中滚的那种,从思想的层面上滚。--言归正传,git可以的.
常规的删除是不能删除的,文件还是在git的记录中,还是占用着硬盘空间。

2 操作

2.1 查看大文件

tip

列出历史前10大文件, 最大的有67771512字节60多M,这是不合理的

$ git rev-list --all | xargs -rL1 git ls-tree -r --long | sort -uk3 | sort -rnk4 | head -10 

2.2 删除文件

 git filter-branch --force --index-filter  'git rm --cached --ignore-unmatch source/library/tool/windows/Postman-win64-6.1.3-Setup.exe' --prune-empty --tag-name-filter cat -- --all
tip

再次查看,文件已经删除了,而git并没有任何提示.

注:本文参考资料
How can I remove a large file from my commit history?
彻底删除git中的较大文件(包括历史提交记录)