使用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
2
$ curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
$ sudo apt-get install git-lfs

首先下载并运行脚本,对系统环境进行检查及更新;然后使用 apt 安装 Git LFS 即可。

详情参考:https://github.com/git-lfs/git-lfs/blob/main/INSTALLING.md

2. Git LFS 基本用法

安装完成后,使用 Git LFS 对代码库进行一些设置,即可正常管理大文件并 push 到远程仓库。

首先,进入代码库根目录,然后运行:

1
$ git lfs install

这条命令是为了让该仓库支持 LFS 存储。

然后,设置使用 Git LFS 追踪的文件类型,根据自己需求调整即可,这里以 pth 文件为例:

1
$ git lfs track "*.pth"

运行该命令后,将生成(或修改)仓库下的 .gitattributes 文件,使用 git add .gitattributes 命令将该文件添加到暂存区并提交:

1
2
$ git add .gitattributes
$ git commit -m 'support LFS'

注意,如果你是已经出现了提交错误然后才进行 Git LFS 相关配置,需要先使用 git reset HEAD~x 命令撤销提交(命令中 x 取值请根据自己实际情况调整),然后在重新执行 addcommit 命令。

至此,即可继续使用 git 命令进行开发,不会因为大文件而报错。

3. GitHub LFS 扩容

经过上述步骤后,在本地即可进行正常的分支管理等 git 操作。但是,如果将大文件 push 到 GitHub 仓库,则可能遇到类似以下内容的报错:

1
batch response: This repository is over its data quota. Account responsible for LFS bandwidth should purchase more data packs to restore access.

这是因为上传的文件总大小超过了 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 提交大文件。


使用Git LFS管理大文件及GitHub LFS扩容
https://arcsin2.cloud/2023/05/25/LFS扩容/
作者
arcsin2
发布于
2023年5月25日
许可协议