"大文件"必须从Git LFS中受益多大?

Thu*_*rge 18 git git-lfs

我正在阅读关于Git LFS的信息并且一次又一次地看到它对于"大文件"非常有用

Git大文件存储(LFS)取代了大型文件,如音频样本,视频[...]

版本大文件 - 即使是那些大到几GB的大文件 - 使用Git.

Git的大文件存储(LFS)是一个免费,开源的扩展,它取代了大文件里面Git的文本指针,并存储在远程服务器上的这些文件的内容.

不幸的是,我没有看到任何"大文件"实际上是什么.很明显,占用几千兆字节的东西是一个大文件,但更小的东西呢?

我将从Git LFS中获益,只需50 MB的"大文件"吗?20MB?5MB?1MB?不到1MB?

与常规Git相比,"大文件"必须从Git LFS中受益多大?

yam*_*enk 8

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

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

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

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

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

  • 文件的类型.无法合并的非文本文件可用于Git LFS存储

我将从Git LFS中获益,只需50 MB的"大文件"吗?20MB?5MB?1MB?不到1MB?

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

  • 考虑到不使用 LFS 的完全相反:_为什么不将所有文件存储在 LFS 中?_因为 LFS 中的文件[无法轻易区分](https://github.com/git-lfs/git-lfs/issues/440),基本上破坏了版本控制系统的重要部分。 (2认同)