35

存储在 Git LFS 中的类型文件是否有最佳实践?专门针对最小尺寸?

例如,一个 10mb 的音乐文件很适合,但是 25kb 的 png 呢?值得放入 LFS 还是让 Git 处理它更好?

我担心将太多小文件检入 LFS 存储库时性能会下降。有没有关于 LFS 扩展如何支持一堆较小的二进制文件的数据?是否建议仅存储超过一定大小阈值的文件?

4

1 回答 1

14

我不希望给出一个确切的阈值。

LFS 节省了与远程存储库同步所需交换的数据量。但是,仅当大文件本身没有变化时,保存才适用。实际上,对于更改的文件,您需要第二次往返来处理 LFS 对象上的更改。

因此,如果在您的用例中这些较小的文件(经常)没有变化,您可以在 LFS 中包含较小的文件。具体的收支平衡将取决于服务器的 I/O 速度,并且主要取决于存储库和客户端之间的延迟和吞吐量。

在您的示例中,如果 png 几乎永远不会改变,我仍然希望得到改进。一旦它们(几乎)在每次提交上都发生更改,甚至更大的文件可能不会从放入 LFS 中受益。

此外,典型文件越大,第二次往返的额外成本将变得越来越不重要。尤其是当文件类(后缀)的大小在很宽的范围内变化和/或文件类中的更改频率涵盖广泛的范围时,您的问题可能没有明确的答案。

于 2016-04-03T18:44:08.243 回答