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

使用GitHub LFS推送50GB文件时遇Failed to push some refs错误求助

解决方案

1. 检查GitHub LFS存储限额

GitHub免费版LFS仅提供1GB存储和每月1GB带宽,50GB文件总量远超免费额度,这是推送失败的核心原因之一。

  • 执行 git lfs ls-files 确认已跟踪的大文件总大小
  • 升级GitHub付费方案(如Pro/Team版)获取对应LFS存储(Pro版含50GB存储、50GB月带宽)

2. 验证LFS文件跟踪配置

确保所有大文件都被LFS正确跟踪:

  • 查看.gitattributes文件,确认包含对应文件类型的跟踪规则,例如 *.iso filter=lfs diff=lfs merge=lfs -text
  • 若有遗漏文件,执行 git lfs track "*.xxx"(替换为你的文件后缀),再提交配置文件:git add .gitattributes && git commit -m "Update LFS tracking rules"

3. 修复LFS本地缓存问题

重置LFS缓存后重新推送:

  1. 清理本地LFS缓存:git lfs prune
  2. 重新拉取LFS对象:git lfs fetch
  3. 强制推送所有LFS对象:git lfs push --all origin main

注:优先用git lfs push --all,避免普通git push遗漏LFS文件

4. 拆分文件或分批推送

若暂不升级方案,可拆分超大文件(GitHub LFS单个文件最大限制5GB)后分批推送:

  1. 撤销上次提交:git reset HEAD~1
  2. 拆分文件后重新添加提交:git add . && git commit -m "Add split large files"
  3. 分批推送LFS对象:git lfs push origin main --include="file1.ext",完成后再推送下一批

5. 调整网络超时设置

网络不稳定或超时会导致推送失败,修改Git配置:

  • 增大HTTP缓冲区:git config --global http.postBuffer 524288000(500MB)
  • 延长LFS超时时间:git config --global lfs.timeout 3600(1小时)
  • 切换至稳定的有线网络环境

6. 重置分支后重新提交

若之前的rebase操作导致提交历史混乱,重置本地分支后重新操作:

  1. 备份本地修改:git stash
  2. 重置本地main分支到远程状态:git reset --hard origin/main
  3. 重新添加文件并提交:git add . && git commit -m "Add large files via LFS"
  4. 推送:git lfs push --all origin main && git push origin main

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 00:32:47