使用Git LFS管理大文件及GitHub LFS扩容
在使用 Git 管理代码库时,如果代码仓库中有含有大文件,则可能出现错误。特别是当上传代码库到 GitHub 仓库时,由于 GitHub 有文件大小限制(100MB 以上文件 push 失败;50MB 以上文件可以 push 成功,但是会有警告;且 GitHub 仅支持 1GB 的免费容量;详情参考:https://docs.github.com/zh/repositories/working-with-files/managing-large-files/about-large-files-on-github),因此必须使用 Git Large File Storage(Git LFS)工具,对代码库进行适当的设置,以正常使用 Git 进行版本控制及提交至远程仓库。本文介绍 Git LFS 的安装及基本使用方法,并介绍如何扩大 GitHub LFS 存储容量。
1. Git LFS 安装
Git LFS 的安装非常简单,具体参考官网:https://git-lfs.com/ ,根据自己的操作系统等环境选择合适的安装方法。本文以 Ubuntu 上安装为例介绍。
安装命令如下:
1 |
|
首先下载并运行脚本,对系统环境进行检查及更新;然后使用 apt 安装 Git LFS 即可。
详情参考:https://github.com/git-lfs/git-lfs/blob/main/INSTALLING.md 。
2. Git LFS 基本用法
安装完成后,使用 Git LFS 对代码库进行一些设置,即可正常管理大文件并 push 到远程仓库。
首先,进入代码库根目录,然后运行:
1 |
|
这条命令是为了让该仓库支持 LFS 存储。
然后,设置使用 Git LFS 追踪的文件类型,根据自己需求调整即可,这里以
pth
文件为例:
1 |
|
运行该命令后,将生成(或修改)仓库下的 .gitattributes
文件,使用 git add .gitattributes
命令将该文件添加到暂存区并提交:
1 |
|
注意,如果你是已经出现了提交错误然后才进行 Git LFS
相关配置,需要先使用 git reset HEAD~x
命令撤销提交(命令中
x
取值请根据自己实际情况调整),然后在重新执行
add
及 commit
命令。
至此,即可继续使用 git
命令进行开发,不会因为大文件而报错。
3. GitHub LFS 扩容
经过上述步骤后,在本地即可进行正常的分支管理等 git
操作。但是,如果将大文件 push 到 GitHub
仓库,则可能遇到类似以下内容的报错:
1 |
|
这是因为上传的文件总大小超过了 GitHub LFS 的免费额度。如果想继续上传,需要对 GitHub 账号相关权限进行升级。
首先,进入 GitHub 设置页面并点击进入如下页面:
也可以直接访问:Billing (github.com) 查看。
将该页面拉到下面,可以查看 Git LFS Data:
默认的存储和带宽都是 1GB(示例图片是升级后的容量)。
点击右上角的 Edit
按钮,并选择
Add more data packs
即可进行 GitHub LFS 容量升级。
在升级之前,需要先设置好付款账户,按照 GitHub 页面指引操作即可,这里推荐使用 PayPal。
PayPal 官网为:PayPal ,打开官网后使用 GitHub 注册使用的邮箱进行账号注册,并绑定银行卡即可。绑定银行卡时需要填写到期时间、CVC 等信息,根据银行卡如实填写即可。以如下网络上图片为例:
CVC 指图片中的后 3 位数字,即:169。填写好完成 PayPal 注册及银行卡绑定后,即可回到 GitHub 网页,在付款方式绑定页面选择 PayPal 方式即可,GitHub 会自动检测使用 GitHub 注册邮箱注册的 PayPal 账号并尝试绑定,出现提示信息后同意绑定即可。
绑定好 PayPal 账号后,确认升级 GitHub LFS 容量,即可顺利在 GitHub 提交大文件。