推送代码报PRC failed; HTTP 413,如何拆分GitHub超大commit?
超大Commit拆分推送操作指南
报错说明
推送返回PRC failed; HTTP 413的核心原因是本次提交总大小238.34MiB超出GitHub推送阈值,可通过拆分单次大commit为多个小commit解决,操作步骤如下:
步骤1:撤销大commit并保留所有修改
运行命令撤销最近一次未推送的大commit,所有改动会保留在暂存区,不会丢失内容:git reset --soft HEAD~1
步骤2:分批提交拆分改动
不要一次性提交所有文件,按文件体积分组提交,单批提交总大小控制在50M以内:
- 分批暂存对应文件:
git add <文件路径/匹配规则> - 每暂存一批提交一次:
git commit -m "<自定义提交说明>" - 重复操作直到所有改动都拆分为多个小commit
特殊情况处理:提交包含单文件>100M的情况
GitHub禁止直接推送单文件超过100M的内容,需单独处理:
- 非必要版本管理的大文件(压缩包、编译产物、日志等):将文件路径加入
.gitignore,执行git rm --cached <大文件路径>移除暂存 - 必须纳入版本管理的大文件:使用Git LFS管理
- 本地安装Git LFS后执行初始化:
git lfs install - 绑定大文件:
git lfs track "<大文件路径/后缀>" - 提交生成的
.gitattributes文件后,再正常提交对应大文件
- 本地安装Git LFS后执行初始化:
步骤3:推送拆分后的commit
所有小commit提交完成后,执行正常推送命令即可:
git push origin <对应分支名>
报错参考
内容的提问来源于stack exchange,提问作者Scozirge2
相关产品推荐
相关产品推荐

