如何删除git中的较大文件包括历史提交记录

有时候我们提交git可能会遇到Git RPC failed; HTTP 413 curl 22 The requested URL returned error: 413 Request Entity Too Large这样的报错问题,究其原因就是我们提交了大文件,服务器支持不了。我们可以尝试强制修改提交信息,将某个文件的历史提交痕迹也抹去,就像从来没有过这个文件一样。

一、在项目根目录下运行

git rev-list --objects --all | grep "$(git verify-pack -v .git/objects/pack/*.idx | sort -k 3 -n | tail -5 | awk '{print$1}')"

列出占用空间最多的五个文件。

二、从 git 历史中移除

git filter-branch--force--index-filter'git rm -rf --cached --ignore-unmatch 你的大文件名'--prune-empty--tag-name-filtercat----all

三、强制提交到远程分支

git push -f --all

希望可以帮助你

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容