问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

GitHub大文件(100MB-2GB)上传教程

创作时间:
作者:
@小白创作中心

GitHub大文件(100MB-2GB)上传教程

引用
CSDN
1.
https://m.blog.csdn.net/zxlzxl66/article/details/145636909

本文将详细介绍如何使用Git Large File Storage (Git LFS)在GitHub上上传大文件(100MB-2GB)。通过本文,你将学会如何在Windows系统下安装和配置Git LFS,以及如何将大文件安全地存储在GitHub上。

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

安装成功

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

具体操作过程:

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

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

【本地操作】

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

cd C:\path\to\your\repository

初始化 Git LFS在仓库目录下运行以下命令,确保 Git LFS 被初始化:

git lfs install

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

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

git lfs track "Al.rar"

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

Al.rar filter=lfs diff=lfs merge=lfs -text

添加并提交 .gitattributes 文件
.gitattributes
文件添加到暂存区并提交,这样其他协作者在克隆仓库时也会得到 Git LFS 的跟踪设置:

git add .gitattributes
git commit -m "Track large files with Git LFS"

添加并提交大文件接下来,将大文件添加到 Git 仓库并提交。注意,如果文件名中包含特殊字符(如括号),可以用转义符或直接使用引号:

git add "Al.rar"
git commit -m "Add large file via Git LFS"

推送到 GitHub将所有本地更改推送到远程 GitHub 仓库。Git LFS 会将大文件上传到专门的存储区域:

git push origin <branch-name>

请将

替换为你实际使用的分支名称(例如
main

master
)。

【在 GitHub 上的验证】

验证文件是否由 Git LFS 管理

  • 登录 GitHub 后,进入你的仓库页面。
  • 浏览对应文件(
    Al.rar
    )的详情页面,GitHub 会显示该文件由 Git LFS 管理的信息。
  • 另外,你可以在仓库的 "Insights" 或 "Settings" 中查看 Git LFS 的使用情况和统计数据,确认大文件已经正确上传。

检查提交记录在 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 等),然后在仓库中放置链接或说明。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号