GLF(Git Large File Storage)安装使用
使用GitHub desktop上传大于100mb的文件时报错
The following files are over 100MB. lf you commit these files, you will no longer beable to push this repository to GitHub.com.term.rarWe recommend you avoid committing these files or use Git LFS to store large files onGitHub.
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 .gitattributesgit 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>
请将
<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 2147483648error: 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 等),然后在仓库中放置链接或说明。