当前位置: 首页 > news >正文

保姆级GitHub大文件(100mb-2gb)上传教程

GLF(Git Large File Storage)安装使用

使用GitHub desktop上传大于100mb的文件时报错

 The following files are over 100MB. lf you commit these files, you will no longer be
 able to push this repository to GitHub.com.
 term.rar
 We recommend you avoid committing these files or use Git LFS to store large files on
 GitHub.

Windows:可以从 Git LFS 下载并安装Git Large File Storage

image-20250214160921512

安装成功

image-20250214161111016

如何确认是否本地安装Git LFS 成功

image-20250214161403396

具体操作过程:

image-20250214163149782

下面是详细的后续步骤,每一步都会标明是在本地操作还是在 GitHub 上验证的。

本地仓库指与github中远程连接的仓库,本文不再赘述

【本地操作】

  1. 打开命令行工具 使用 Git Bash、CMD 或 PowerShell 打开终端,并切换到你仓库所在的目录。例如:

     cd C:\path\to\your\repository
  2. 初始化 Git LFS 在仓库目录下运行以下命令,确保 Git LFS 被初始化:

     git lfs install

    此步骤会配置 Git LFS 钩子,确保后续对大文件的处理正确。

  3. 告诉 Git LFS 跟踪大文件 运行以下命令,指定需要用 Git LFS 管理的文件(此处以 .rar 文件为例):

     git lfs track "Al.rar"

    执行后,会在仓库根目录生成一个名为 .gitattributes 的文件,其中包含类似下面的内容:

     Al.rar filter=lfs diff=lfs merge=lfs -text
  4. 添加并提交 .gitattributes 文件.gitattributes 文件添加到暂存区并提交,这样其他协作者在克隆仓库时也会得到 Git LFS 的跟踪设置:

     git add .gitattributes
     git commit -m "Track large files with Git LFS"
  5. 添加并提交大文件 接下来,将大文件添加到 Git 仓库并提交。注意,如果文件名中包含特殊字符(如括号),可以用转义符或直接使用引号:

     git add "Al.rar"
     git commit -m "Add large file via Git LFS"
  6. 推送到 GitHub 将所有本地更改推送到远程 GitHub 仓库。Git LFS 会将大文件上传到专门的存储区域:

     git push origin <branch-name>

    请将 <branch-name> 替换为你实际使用的分支名称(例如 mainmaster)。

【在 GitHub 上的验证】

  1. 验证文件是否由 Git LFS 管理

    • 登录 GitHub 后,进入你的仓库页面。

    • 浏览对应文件(Al.rar)的详情页面,GitHub 会显示该文件由 Git LFS 管理的信息。

    • 另外,你可以在仓库的 "Insights" 或 "Settings" 中查看 Git LFS 的使用情况和统计数据,确认大文件已经正确上传。

  2. 检查提交记录 在 GitHub 的 "Commits" 页面查看你的提交记录,确保提交中包含了 .gitattributes 和大文件提交。大文件的提交内容应该是一个指向实际数据的 LFS 指针,而非完整的二进制数据。

报错

 [0a194db03ea2fb7d010982fec61ff6f4f6e574b828f49d87fdd7c0892a6c59cb] Size must be less than or equal to 2147483648: [422] Size must be less than or equal to 2147483648
 error: failed to push some refs to “”

Size must be less than or equal to 2147483648

  • 其中 2147483648 字节等于 2GB。这意味着单个 Git LFS 管理的文件大小必须小于或等于 2GB。

  • HTTP 状态码 422: 错误信息中的 [422] 是 HTTP 状态码,表示“Unprocessable Entity”(无法处理的实体),即服务器接收到了请求,但请求中的某个部分(这里是文件大小)不符合要求。

解决方案:

拆分成多个小文件,或者进一步压缩以降低文件大小。于超过 2GB 的文件,GitHub 及 Git LFS 并不适合直接托管。这时可以考虑使用云存储服务(如 Google Drive 等),然后在仓库中放置链接或说明。

相关文章:

  • Texas Moves to Regulate AI 德克萨斯州着手规范人工智能
  • 3、《Spring Boot 常见注解详解》
  • 盲注技术获取数据库的表、列和具体数据
  • CZML 格式详解,javascript加载导出CZML文件示例
  • 动手学深度学习11.7. AdaGrad算法-笔记练习(PyTorch)
  • DeepSeek API 调用 - Spring Boot 实现
  • Electron视图进程和主进程通讯
  • Threadlocal的实现原理
  • Stable Diffusion 中各种模型的对比与详解
  • 是德科技 | AI助力高速线缆卷向下一代速率
  • 键盘启用触摸板-tips
  • Java与C#技术栈对比及Java开发入门指南
  • 深入理解 Scoped CSS 的限制及其穿透方法
  • V93K测试机
  • QEventLoop 的使用方法及特性详解
  • C# ASP.NET核心特性介绍
  • 【图像加密解密】空间混沌序列的图像加密解密算法复现(含相关性检验)【Matlab完整源码 2期】
  • C++ 11原子变量
  • snort3.0 获取注册规则(19000多条)
  • Flink怎么保证Exactly - Once 语义
  • 【社论】公平有序竞争,外卖行业才能多赢
  • “远践”项目启动公益生态圈,上海青少年公益力量蓬勃生长
  • 王毅人民日报撰文:共商发展振兴,共建中拉命运共同体
  • 应急部:正在积极推动各地逐步科学建设改造应急避难场所
  • 国际博物馆日中国主会场确定,北京将展“看·见殷商”等展览
  • “饿了么”枣庄一站点两名连襟骑手先后猝死,软件显示生前3天每日工作超11小时