我有很大的 git 存储库。而且 dotgit 文件夹的大小非常大。(对于我们的 3D 建模者来说,有 350GB - ty :))我的硬盘有 240GB 的可用空间。当我尝试运行此命令时:
git gc --prune=now --aggressive
我遇到一些错误:
can't allocate memory...lalala
我该怎么办?我应该去 git 服务器并在那里运行这个命令吗?
随着时间的推移,存储库可能提交了许多大文件。删除历史记录并没有真正的帮助,随着更多大文件的添加和处理,问题会再次出现,并且您将丢失工作的历史记录。
不要直接提交大文件,而是使用Git 大文件存储 (git-lfs)。这将允许您提交大文件并保留历史记录,而无需扩大存储库大小。
所有那些旧的提交怎么样?不要只是在任意日期删除您的历史记录,而是使用BFG 回购清理器从历史记录中清除大文件。这将允许您保留历史记录,同时仅删除最大的违规文件。
更好是你可以将两者结合起来! BFG 可以将您现有的大文件提交转换为最近添加的小 git-lfs 提交--convert-to-git-lfs
. 这一切都记录在这篇博客文章中。这是两全其美的:您保留所有历史记录、所有文件,并且获得一个精简的存储库。完成后,使用git-lfs
对于所有未来的大文件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)