gpt4 book ai didi

git - 如何处理大型 git 存储库?

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

我目前正在将 git 用于大型存储库(大约 12 GB,每个分支大小为 3 GB)。此存储库包含大量二进制文件(音频和图像)。

问题是克隆和 pull 会花费很多时间。特别是“解析增量”步骤可能会非常非常长。

解决此类问题的最佳方法是什么?

我试图删除增量压缩,因为它解释了 here在 .gitattributes 中使用 delta 选项,但它似乎没有改善克隆持续时间。

提前致谢

凯文

最佳答案

2015 年 4 月更新:Git Large File Storage (LFS) (通过 GitHub)。

它使用 git-lfs (参见 git-lfs.github.com )并使用支持它的服务器进行测试:lfs-test-server :
您只能将元数据存储在 git 存储库中,而将大文件存储在其他地方

https://cloud.githubusercontent.com/assets/1319791/7051226/c4570828-ddf4-11e4-87eb-8fc165e5ece4.gif


原始答案(2012 年)

对于变化不大的大型二进制文件,一个解决方案是将它们存储在不同的引用中(如 Nexus repository ),并且仅版本化一个文本文件,声明您需要哪个版本。
使用“工件存储库”比在 source 存储库中存储二进制元素更容易(用于比较版本和分支之间的 merge ,这对所述二进制文件没有多大用处)。

另一个更以 git 为中心的解决方案是 git-annex :

git-annex allows managing files with git, without checking the file contents into git.
While that may seem paradoxical, it is useful when dealing with files larger than git can currently easily handle, whether due to limitations in memory, time, or disk space.

但是它与 Windows 不兼容。

一个更通用的解决方案可能是 git-media ,这还允许您将 Git 用于大型媒体文件,而无需将媒体存储在 Git 本身中。

最后,最简单的解决方案是将这些二进制文件隔离在它们自己的 git submodule 中。正如您在问题中提到的:它不是很令人满意,初始克隆仍需要时间,但父存储库的下一次更新会很短。

关于git - 如何处理大型 git 存储库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12855926/

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