此文帮助解决如何使用git LFS上传100、200Mb以上的大文件的详细步骤, 提供官网下载链接。讲述Github与Git LFS上传文件大小限制和储存空间限制描述,并提供扩大限制,以及git LFS的运作原理,详情如下:

目录

问题描述

解决办法

对于git没跟踪过的文件 

对于git跟踪过了的文件

如何clone git lfs更改过的repository

例子展示

额外内容

Git LFS更大文件的上传限制

Git LFS储存空间限制

Git LFS原理

END


问题描述

Github在网页上传限制100Mb,通过git上传时限制200Mb,但一般视频,类似课程回放,大新数据文件等都会大于200Mb而无法结合笔记一起上传。

解决办法

利用git-lfs来上传免费账户单个大文件可达2GB,repo storage可达1GB,付费账户描述与升级方法在最后“额外内容”中。

下载git-lfs, 官网地址为:Git Large File Storage | Git Large File Storage (LFS) replaces large files such as audio samples, videos, datasets, and graphics with text pointers inside Git, while storing the file contents on a remote server like GitHub.com or GitHub Enterprise.Git Large File Storage (LFS) replaces large files such as audio samples, videos, datasets, and graphics with text pointers inside Git, while storing the file contents on a remote server like GitHub.com or GitHub Enterprise.https://git-lfs.github.com/

其中解读和详细步骤为:

1. 在下载安装完成后,在terminal中输入

git lfs install

 进行initial设置,此操作只用跑一次,之后可忽略。成功运行会显示:

git原先跟踪和没跟踪过的文件解决办法除了安装,其他并不一样,请看相应标题:A. 对于git没跟踪过的文件;B. 对于git跟踪过了的文件

A. 对于git没跟踪过的文件 

2. 进入希望上传大文件的git文件夹,用lfs进行大文件格式追踪:

git lfs track "*.filetype"

 这里的filetype是指文件格式,例如上传".mp4"文件,则应该写为:

git lfs track "*.mp4"

成功运行会显示: 

Tracking ".*mp4"

3. 第二步程序会自动更改“.gitattributes”文件,所以要确保用“git add”进行文件更新:

git add .gitattributes

 4. 以上已经完成了lfs上传的预备工作,之后便可以正常add,commit文件,push到branch了:

git add file.mp4
git commit -m "Add recording"
git push origin main

B. 对于git跟踪过了的文件

同样的安装过程

 1. 在下载安装完成后,在terminal中输入

git lfs install

 进行initial设置,此操作只用跑一次,之后可忽略。成功运行会显示:

2. 将跟踪过了的文件转交给git lfs进行处理:

git lfs migrate import --include="<files to be tracked>"

 成功后会显示:

 之后便可正常add,commit文件,push到branch。

如何clone git lfs更改过的repository

当直接clone时,会只收到pointer文件,而不是本文件,需要clone的人同样也下载git ltf,而后只用git lfs拿取文件即可

git lfs fetch origin master

例子展示

18个视频共3.2GB已经成功上传至github, 像这种总量超过2GB但单个俩三百Mb的,可以通过一次上传4-5个视频,每次保证上传不大于2GB即可。

额外内容

Git LFS更大文件的上传限制

可以超过2GB的文件同样可以上传,只不过需要另外加钱 :D,价格如下表

 为了节省查阅时间,github的价格官网在:

https://github.com/pricinghttps://github.com/pricing

Git LFS储存空间限制

对于Free的LTS账户,每个repository的储存量 (Storage) 只有1GB。而对于Git LFS储存空间大小的1GB限制,也可以用金钱打破,操作方式是:

1. 右上角头像进入Github设置:

 

 2. 左侧sidebar进入billing:

3. 根据需求购买Git LFS储存空间

Git LFS原理

其实它在github之外的地方保存了原文件,而上传给github的是pointer文件,指向的是真正储存原文件的位置,更多关于Git LFS的说明可以通过以下链接进行查阅:

About Git Large File Storage - GitHub DocsGitHub limits the size of files allowed in repositories. To track files beyond this limit, you can use Git Large File Storage.https://docs.github.com/en/repositories/working-with-files/managing-large-files/about-git-large-file-storage

END

总得来说,就是git lfs虽然可以帮助上传单个大于200MB的文件,但它提供的free储存空间只有1GB,其他另需购买。

希望以上内容对你有所帮助 :>

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐