讲师中心 微信公众号
AI工具推荐 视频效率加速

GitHub 文件太大无法上传怎么办?限制原因与解决办法

小明大大_2410

小明大大_2410

发布时间:2026-02-24 10:59:02

|

842人浏览过

|

来源于php中文网

原创

GitHub单个文件超100MB限制时,应优先启用Git LFS:执行git lfs install、git lfs track指定文件类型、git add .gitattributes和大文件、commit后push;若历史已含大文件,需用git filter-repo清理并git lfs migrate重写;缓冲区不足可调http.postBuffer;不可分二进制文件必须用LFS,可分文件可split上传;未推送前可用git reset--soft和git rm--cached撤销。

github 文件太大无法上传怎么办?限制原因与解决办法

如果您尝试将大文件推送到 GitHub 仓库,但收到 remote: error: File xxx is XXX MB; this exceeds GitHub's file size limit of 100.00 MB 报错,则说明该文件已超出 GitHub 对单个文件的硬性大小限制。以下是针对此问题的多种解决路径:

一、启用 Git LFS 管理大文件

Git LFS 是 GitHub 官方推荐的解决方案,其原理是将大文件本体替换为轻量级指针,实际文件存储在独立的 LFS 服务器上,Git 仓库仅保留元数据和版本引用,从而规避 100MB 限制。

1、在项目根目录打开终端,执行 git lfs install 初始化本地 LFS 客户端。

2、指定需由 LFS 跟踪的文件类型,例如:执行 git lfs track "*.pth" 跟踪所有 PyTorch 模型文件;或执行 git lfs track "*.zip" 跟踪压缩包;如需覆盖全部大文件,可运行 git lfs track "*"。

3、执行 git add .gitattributes 将生成的配置文件加入暂存区。

4、执行 git add <大文件路径>(如 git add models/vgg16.pth)显式添加目标大文件。

5、执行 git commit -m "add large files via LFS" 提交变更。

6、执行 git push origin <branch> 推送,Git LFS 将自动上传大文件至 LFS 服务端。

二、清理历史提交中的大文件

若此前已多次提交过大文件并推送失败,或错误地将大文件纳入了 Git 历史记录,则单纯启用 LFS 无法生效,必须清除历史中的大文件对象,否则远程仍会拒绝推送。

1、安装 BFG Repo-Cleaner 工具(需 Java 环境),或使用原生命令 git filter-repo(推荐,需先通过 pip install git-filter-repo 安装)。

2、执行 git filter-repo --path <大文件相对路径> --invert-paths --force 删除指定路径文件在全部历史中的痕迹。

3、执行 git lfs migrate import --include="*.pth,*.zip" --everything 将符合条件的大文件从历史中提取并重写为 LFS 引用。

4、强制推送重写后的历史:git push --force --all origin 和 git push --force --tags origin。

三、临时增大 HTTP 缓冲区规避传输中断

部分推送失败并非因文件超限,而是因网络不稳定导致 Git 在传输大文件时触发默认缓冲区溢出,表现为连接中断或 early EOF 错误。此方法不解除 100MB 限制,但可提升大文件(尤其接近 100MB 的文件)成功上传概率。

Conventional Git
Conventional Git

Conventional Commits v1.0.0 分支、工作树命名及提交信息规范,适用于 GitHub 与 GitLab 项目,用于创建分支和命名工作树等场景。

下载

1、在项目所在仓库执行 git config http.postBuffer 524288000,将 HTTP POST 缓冲区设为 500MB。

2、验证配置是否生效:运行 git config --get http.postBuffer,应返回 524288000。

3、重新执行 git add、git commit 和 git push 流程。

四、手动拆分大文件后分别上传

对于不可分割的二进制文件(如模型权重、ISO 镜像),Git LFS 是唯一合规方案;但对可分割的文本类或归档类文件(如日志、数据库导出),可通过外部工具将其切片,再以普通 Git 方式上传,避免触发限制机制。

1、使用 split 命令(Linux/macOS)或 7-Zip(Windows)将大文件分割为多个小于 100MB 的片段,命名如 data.zip.001、data.zip.002。

2、执行 git add data.zip.* 添加全部分片。

3、执行 git commit -m "split and upload large archive" 提交。

4、执行 git push origin <branch> 推送所有分片。

5、使用者需在本地合并还原:cat data.zip.* > data.zip(Linux/macOS)或使用 7-Zip 合并(Windows)。

五、回退并撤销错误提交

当刚执行 git commit 将大文件纳入暂存但尚未推送时,应立即撤销该提交,防止大文件进入本地历史,为后续 LFS 配置扫清障碍。此操作保留工作区文件,仅移除提交记录。

1、执行 git reset --soft HEAD^ 回退至上一提交,保留所有已修改/新增文件在暂存区。

2、执行 git rm --cached <大文件路径>(如 git rm --cached dataset/cifar-10-python.tar.gz)取消大文件在 Git 中的跟踪。

3、完成 Git LFS 配置后,再执行 git add <大文件路径> 交由 LFS 处理。

4、执行 git commit -m "add large file via LFS" 重新提交。

热门AI工具

更多
切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

相关专题

更多
pip安装使用方法
pip安装使用方法

安装步骤:1、确保Python已经正确安装在您的计算机上;2、下载“get-pip.py”脚本;3、按下Win + R键,然后输入cmd并按下Enter键来打开命令行窗口;4、在命令行窗口中,使用cd命令切换到“get-pip.py”所在的目录;5、执行安装命令;6、验证安装结果即可。大家可以访问本专题下的文章,了解pip安装使用方法的更多内容。

2450

2023.10.09

更新pip版本
更新pip版本

更新pip版本方法有使用pip自身更新、使用操作系统自带的包管理工具、使用python包管理工具、手动安装最新版本。想了解更多相关的内容,请阅读专题下面的文章。

5643

2024.12.20

pip设置清华源
pip设置清华源

设置方法:1、打开终端或命令提示符窗口;2、运行“touch ~/.pip/pip.conf”命令创建一个名为pip的配置文件;3、打开pip.conf文件,然后添加“[global];index-url = https://pypi.tuna.tsinghua.edu.cn/simple”内容,这将把pip的镜像源设置为清华大学的镜像源;4、保存并关闭文件即可。

7162

2024.12.23

python升级pip
python升级pip

本专题整合了python升级pip相关教程,阅读下面的文章了解更多详细内容。

3447

2025.07.23

scripterror怎么解决
scripterror怎么解决

scripterror的解决办法有检查语法、文件路径、检查网络连接、浏览器兼容性、使用try-catch语句、使用开发者工具进行调试、更新浏览器和JavaScript库或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

889

2023.10.18

500error怎么解决
500error怎么解决

500error的解决办法有检查服务器日志、检查代码、检查服务器配置、更新软件版本、重新启动服务、调试代码和寻求帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2380

2023.10.25

C++ 智能指针与现代内存管理
C++ 智能指针与现代内存管理

深入讲解 C++ 现代内存管理的核心工具——智能指针,涵盖 unique_ptr 独占所有权语义、shared_ptr 引用计数机制与循环引用问题、weak_ptr 弱引用的应用场景、make_unique/make_shared 工厂函数的性能优势、自定义删除器的编写、RAII 资源管理思想的实践,以及从裸指针迁移到智能指针的重构策略,帮助开发者编写安全无泄漏的现代 C++ 代码。

299

2026.04.23

go语言 数组和切片
go语言 数组和切片

本专题整合了go语言数组和切片的区别与含义,阅读专题下面的文章了解更多详细内容。

1412

2025.09.03

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

20

2026.09.23

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
vscode手册
vscode手册

共0课时 | 0人学习

Git 教程
Git 教程

共21课时 | 7.9万人学习

Git版本控制工具
Git版本控制工具

共8课时 | 1.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn