gpt4 book ai didi

git - git lfs 有什么优势?

转载 作者:IT王子 更新时间:2023-10-29 00:59:33 27 4
gpt4 key购买 nike

Github 上有一个 limit推送大文件。所以如果你想推送一个大文件到你的仓库,你必须使用 Git LFS .

我知道在 git 仓库中添加二进制文件是个坏主意。但是如果我使用 gitlab在我的服务器上,repo 中的文件大小没有限制,我不在乎服务器上的 repo 大小是否超大。在这种情况下,git lfs 的优势是什么?git clonegit checkout 会更快吗?

最佳答案

与集中式系统相比,Git(和其他分布式系统)的一个特殊性是每个存储库都包含项目的整个历史。假设您创建了一个 100 MB 的文件,以压缩效果不佳的方式对其进行了 100 次修改。您最终会得到一个 10 GB 的存储库。这意味着每个克隆将下载 10 GB 的数据,在您进行克隆的每台机器上占用 10 GB 的磁盘空间。更令人沮丧的是:即使您 git rm 大文件,您仍然必须下载这 10 GB 的数据。

将大文件放在像 git-lfs 这样的单独系统中允许您只存储指向存储库中文件的每个版本的指针,因此每个克隆只会为每个修订下载一小部分数据。 checkout 将仅下载您正在使用的版本,即上例中的 100 MB。因此,您会在服务器上使用磁盘空间,但会在客户端上节省大量带宽和磁盘空间。

除此之外,git gc(在内部,git repack)使用的算法并不总是适用于大文件。最近版本的 Git 在这方面取得了进展,它应该可以正常工作,但是使用包含大文件的大型存储库最终可能会给您带来麻烦(比如没有足够的 RAM 来重新打包您的存储库)。

关于git - git lfs 有什么优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35575400/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com