Git LFS(Large File Storage)是一种用于高效管理大文件的工具,它通过将大文件存储在远程仓库之外,同时在本地仓库中保留文件的指针,从而优化大文件的存储和传输。以下是 Git LFS 的详细介绍:

46.1 声明存储在外部的文件类型

使用 Git LFS 的常见工作流是通过基于规则的系统声明哪些文件被拦截,类似于 .gitignore 文件。通常会使用通配符来选择特定类型的文件进行跟踪。

git lfs track "*.psd"

当匹配上述模式的文件被添加并提交后,推送至远程仓库时,文件将被单独上传,远程仓库中会用一个指针替换该文件。

在文件被 LFS 跟踪后,.gitattributes 文件会相应更新。GitHub 建议提交本地的 .gitattributes 文件,而不是使用全局的 .gitattributes 文件,以确保在不同项目中不会出现问题。

46.2 为所有克隆设置 LFS 配置

要为所有克隆设置 LFS 选项,可以在仓库根目录创建并提交一个名为 .lfsconfig 的文件。此文件可以以与 .git/config 中允许的方式相同的方式指定 LFS 选项。 例如,要默认排除某个文件从 LFS 检出,创建并提交包含以下内容的 .lfsconfig 文件:

[lfs]
fetchexclude = ReallyBigFile.wav

46.3 安装 LFS

可以通过 Homebrew 或从官网下载并安装 Git LFS。 使用 Homebrew 安装:

brew install git-lfs
git lfs install

通常,你还需要在托管远程仓库的服务上进行一些设置,以允许其与 LFS 一起工作。这在每个托管服务中可能有所不同,但通常只需勾选一个选项即可,表示你希望使用 Git LFS。