You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

已开启Git LFS仍无法推送文件到远程仓库,提示pack超允许大小如何解决?

错误原因

日志中明确返回remote: fatal: pack exceeds maximum allowed size,核心问题是本次推送生成的单个Git打包文件大小超过了远程仓库的单包体积限制:

  1. 你的LFS对象已经全部上传完成,问题出在普通Git对象的打包推送环节
  2. 大部分代码托管平台的默认单包上限为2GB左右,本次生成的pack包体积达4.78GiB,远超上限导致远端主动断开连接,推送失败。
解决方案

可根据实际情况选择以下任意一种方案操作:

  • 方案1:拆分提交分批推送
    不要一次性推送全部提交,将本地提交拆分为多个小提交,单个提交涉及的文件总大小控制在1GB以内,分批次执行git push即可。如果已经生成了多个提交,可以指定提交哈希逐段推送:
    示例(将main替换为你的实际分支名):
    # 先推送前半部分提交
    git push origin <较早的提交哈希>:main
    # 所有分段提交推送完成后,再推送最新版本
    git push origin main
    
    如果使用SSH协议推送,优先选择该方案。
  • 方案2:调大Git单次推送缓冲区
    如果你使用HTTP/HTTPS协议推送,可以先执行以下命令调整http.postBuffer参数,将单次推送的缓冲区上限调至5GB:
    git config --global http.postBuffer 5368709120
    
    配置完成后重新执行git push即可。
  • 方案3:排查未加入LFS的大文件
    部分大文件可能没有被纳入LFS追踪规则,被当成普通Git对象打入pack包导致体积超标,可执行以下命令排查本地仓库大于100MB的文件:
    git ls-files | xargs ls -l | sort -nrk5 | head -20
    
    找到遗漏的大文件后,将对应类型的文件加入LFS追踪:
    git lfs track "*.你的大文件后缀"
    git add .gitattributes
    
    之后重写提交历史将对应大文件迁移到LFS,再重新推送即可。

内容的提问来源于stack exchange,提问作者user14954690

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 21:54:02