Git LFS Data 使用配置

✨ 使用 Git Large File Storage (LFS) 处理 GitHub 仓库中的大文件,可以将大文件托管在 LFS 中,避免超过 GitHub 文件大小限制。GitHub 免费用户有一定的存储空间和下载带宽,超出部分需要付费。在 GitHub 的设置中可以查看相关信息。

有一 Git 项目,其中包含了一个大文件,push 时被拒绝,提示文件大小超限(100 MB),故而需要使用 Git Large File Storage (LFS) 对要上传的大文件进行托管。

安装

# Debian
sudo apt install git-lfs

# macOS
brew install git-lfs

配置使用

# 初始化配置 git-lfs, 若显示 Git LFS initialized, 说明初始化完成
git lfs install

# 将大型文件添加到lfs管理
# 文件形式
git lfs track *.tar.gz
# 文件夹形式
# 包含文件夹本身的
git lsf track zip/**
# 不包含文件夹本身的
git lsf track zip/*

# 查看lfs追踪了哪些文件
git lfs ls-files
# 把新生成的文件添加到缓存区
git add .gitattributes
# 提交推送
git commit -m "add .gitattributes"
git push origin master

👉
拉取含有大文件的 Git 仓库时直接 git clone 即可。但如果在安装配置 git-lfs 前拉取,则此时本地仓库中并不包含大文件本体,而是指向其 LFS 存储对象的文件指针。可再执行git lfs pull来拉取文件指针所指向的完整文件对象。
  • GitHub 额度

GitHub 免费用户有 1 GB 的免费存储空间和每月 1 GB 的下载带宽,超出需要付费,可登录 GitHub 在 Settings ==> Billing and plans ==> Git LFS Data 中查看,如下图所示


参考信息

https://docs.github.com/zh/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-git-lfs-objects-in-archives-of-your-repositoryhttps://docs.github.com/zh/repositories/working-with-files/managing-large-files/about-storage-and-bandwidth-usagehttps://git-lfs.com/