git - "large file"必须有多大才能受益于 Git LFS?

标签 git git-lfs

我正在阅读 Git LFS一次又一次地看到它对“大文件”非常有效

Git Large File Storage (LFS) replaces large files such as audio samples, videos[...]

Version large files—even those as large as a couple GB in size—with Git.

Git Large File Storage (LFS) is a free, open-source extension that replaces large files with text pointers inside Git and stores the contents of those files on a remote server.

不幸的是,我在任何地方都看不到“大文件”到底是什么。几千兆字节的文件很明显是一个大文件,但是更小的文件呢?

我是否可以从 Git LFS 中受益于小至 50 MB 的“大文件”? 20MB? 5MB? 1MB?小于 1MB?

与常规 Git 相比,“大文件”必须有多大才能受益于 Git LFS?

最佳答案

没有确切的阈值来定义什么是大文件。这取决于用户。要查看是否需要使用 Git LFS 存储一些文件,您需要了解 git 的工作原理。

Git 和其他源代码控制工具(perforce、svn)之间最根本的区别是 Git 在每次提交时存储存储库的完整快照。因此,当您有一个大文件时,快照包含此文件的压缩版本(如果文件未更改,则包含指向文件 blob 的指针)。存储库快照以图形形式存储在 .git 文件夹下。因此如果文件 是“大”,存储库大小将快速增长。

有多个标准来确定是否使用 Git LFS 存储文件。

  • 文件的大小。 IMO 如果文件超过 10 MB,您应该考虑将其存储在 Git LFS 中

  • 文件的修改频率。经常更改的大文件(基于用户对大文件的直觉)应该使用 Git LFS 存储

  • 文件的类型。无法 merge 的非文本文件符合 Git LFS 存储条件

Will I benefit from Git LFS with "large files" as small as 50 MB? 20MB? 5MB? 1MB? Less than 1MB?

根据文件更改的频率,您可以受益于任何提到的大小。 考虑您每次都对文件进行 100 次提交编辑的情况。对于可以压缩到 15 MB 的 20MB 文件,如果不使用 Git LFS 存储文件,存储库大小将增加大约 1.5GB。

关于git - "large file"必须有多大才能受益于 Git LFS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49018053/

相关文章:

git - 将 2 提交压缩为 1

git - Bitbucket - 使用 git lfs 推送 repo

git - 超过限制后撤消 git lfs

git - git lfs migrate 做什么?

git - 如何将特定的 git-lfs 文件下载到 Docker 容器中

git - 将 git lfs 存储库重置为指针

git - 在 Pod 中使用 Airflow 设置 Git-Sync 时出现问题

windows - Git Bash for Windows 的提示到底在哪里定义?

macos - Git 配置 - 仍然询问用户名和密码

Git force push to github rejected for large file that is deleted and no longer tracked