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

保姆级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 等),然后在仓库中放置链接或说明。


http://www.kler.cn/a/546130.html

相关文章:

  • ECP在Successfactors中paylisp越南语乱码问题
  • 爬虫实战:利用代理ip爬取推特网站数据
  • Gin框架开发教程及性能优势分析
  • 力扣-二叉树-226 翻转二叉树
  • css:position
  • 【RK3588嵌入式图形编程】-SDL2-鼠标输入处理
  • Python实现从SMS-Activate平台,自动获取手机号和验证码(进阶版2.0)
  • MySQL 数据库定时任务及进阶学习
  • 算法——数学建模的十大常用算法
  • DeepSeek R1打造本地化RAG知识库
  • 本地部署DeepSeek集成VSCode创建自己的AI助手
  • webpack打包优化策略
  • 交易所开发商业计划书
  • 喜报!博睿数据案例获经观传媒“2024年度数字转型创新案例”!
  • RocketMQ与kafka如何解决消息积压问题?
  • 通俗理解-L、-rpath和-rpath-link编译链接动态库
  • HTML学习记录
  • RocketMQ和Kafka如何实现顺序写入和顺序消费?
  • Nginx实战_高性能Web服务器与反向代理的配置全解
  • 从 ClickHouse 到 Apache Doris:在网易云音乐日增万亿日志数据场景下的落地