Git因文件过大导致提交失败解决方案

问题描述

单文件过大时只能选择压缩文件或者删除文件,因为单文件过大会阻止提交

单文件过大

git推送到远程时因个别文件过大导致推送失败

image-20231116000642638

Gitee托管平台对不同套餐的用户采用了不同的配额限制,详情可查阅Gitee产品文档

image-20231116001113295

提交的文件过多

有时提交的文件过多时也会导致提交失败

image-20241018144713086

解决方法

单文件过大

查看超出限额的大文件

image-20231116001706912

命令如下,其中557b10ce603309c9a25c0e3924ce3d681104f18c 为错误信息中给出的文件的哈希值

1
git rev-list --objects --all | grep 557b10ce603309c9a25c0e3924ce3d681104f18c

查看提交记录

使用 git log 命令可查看历史提交信息,会显示提交记录的Commit Hash,作者信息、提交时间、提交说明等信息, 每个提交都有一个唯一的 SHA-1 校验和,用于标识该提交

image-20231116003452483

撤销commit记录

依次撤销已经commit但未push到远程的提交记录

image-20231116003405991

1
git reset Commit <HashCommit Hash>

删除本地大文件

重新提交并推送

1
2
3
git add .
git commit -m '提交说明'
git push

最终完美解决

image-20231116004231196

提交的文件过多

更多详细内容可参考: How to resolve “Recv failure: Connection was reset” #49456

这可问题很简单,就是设置的缓存空间不足,设置大一点就好了

1
git config --global http.postbuffer 99999999

参考

Git push大文件失败解决