# 关于 Git 大文件存储系统

GitHub 限制存储库中允许的文件大小。 要跟踪超出此限制的文件，您可以使用 Git 大型文件存储。

## 关于 Git 大型文件存储

Git LFS 处理大文件的方式是存储对仓库中文件的引用，而不实际文件本身。 为满足 Git 的架构要求，Git LFS 创建了“指针文件”，充当对实际文件（存储在其他位置）的引用。 GitHub 在存储库中管理此指针文件。 当你克隆存储库时，GitHub 会使用指针文件作为映射来为你查找大型文件。

Git LFS 的不同最大大小限制取决于 GitHub 计划。

| 产品                      | 文件大小上限 |
| ----------------------- | ------ |
| GitHub Free             | 2 GB   |
| GitHub Pro              | 2 GB   |
| GitHub Team             | 4 GB   |
| GitHub Enterprise Cloud | 5 GB   |

如果超过每个文件 5 GB 的限制，Git LFS 将拒绝该文件，并显示错误消息。

您也可以将 Git LFS 与 GitHub Desktop 结合使用。 有关如何在 GitHub Desktop 中克隆 Git LFS 仓库的详细信息，请参阅 [将仓库从 GitHub 克隆到 GitHub Desktop](/zh/desktop/adding-and-cloning-repositories/cloning-a-repository-from-github-to-github-desktop)。

可以选择 Git LFS 对象是否包含在 GitHub 为存储库创建的[源代码存档](/zh/repositories/working-with-files/using-files/downloading-source-code-archives)中，例如 ZIP 文件和 tarball。 有关详细信息，请参阅“[管理仓库存档中的 Git LFS 对象](/zh/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-git-lfs-objects-in-archives-of-your-repository)”。

## 指针文件格式

Git LFS 的指针文件看起来像：

```text
version https://git-lfs.github.com/spec/v1
oid sha256:4cac19622fc3ada9c0fdeadb33f88f367b541f38b89102a3f1261ac81fd5bcb5
size 84977953
```

它会跟踪所用 Git LFS 的 `version`，后接文件的唯一标识符 (`oid`)。 它还会存储最终文件的 `size`。

> \[!NOTE]
>
> * Git LFS 不能用于 GitHub Pages 站点。
> * Git LFS 不能用于模板仓库。

## 其他阅读材料

* ```
            [AUTOTITLE](/repositories/working-with-files/managing-large-files/collaboration-with-git-large-file-storage) 
  ```
* [Git 大型文件存储计费](/zh/billing/managing-billing-for-your-products/managing-billing-for-git-large-file-storage/about-billing-for-git-large-file-storage)