关于 Git 大文件存储
Git LFS 通过在仓库中存储对文件的引用来处理大文件,而不是存放实际文件本身。为了解决 Git 的架构限制,Git LFS 会创建一个指针文件,用来指向实际文件(实际文件存放在其他位置)。GitHub 在你的仓库中管理此指针文件。当你克隆仓库时,GitHub 会利用指针文件作为映射,去为你获取相应的大文件。
不同的 GitHub 计划对 Git LFS 的最大文件大小限制各不相同。
| 产品 | 最大文件大小 |
|---|---|
| GitHub 免费版 | 2 GB |
| GitHub 专业版 | 2 GB |
| GitHub 团队版 | 4 GB |
| GitHub 企业云 | 5 GB |
如果超过每个文件 5 GB 的限制,Git LFS 将会以错误信息拒绝该文件。
你也可以在 GitHub Desktop 中使用 Git LFS。有关在 GitHub Desktop 中克隆 Git LFS 仓库的更多信息,请参阅 从 GitHub 克隆仓库到 GitHub Desktop。
你可以选择是否在 源码归档(如 ZIP 文件和 tar 包)中包含 Git LFS 对象——这些归档是 GitHub 为你的仓库生成的。详情请参阅 在仓库归档中管理 Git LFS 对象。
指针文件格式
Git LFS 的指针文件如下所示
version https://git-lfs.github.com/spec/v1
oid sha256:4cac19622fc3ada9c0fdeadb33f88f367b541f38b89102a3f1261ac81fd5bcb5
size 84977953
它记录了你所使用的 Git LFS 的 version,以及文件的唯一标识符(oid),同时还保存了最终文件的 size。
注意
- Git LFS 不能在 GitHub Pages 站点上使用。
- Git LFS 不能在模板仓库中使用。