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中的较大文件(包括历史提交记录)