最近我一直在使用GitHub,我想知道托管在github.com上的文件存储库大小限制是多少?
最近我一直在使用GitHub,我想知道托管在github.com上的文件存储库大小限制是多少?
有多个适用的仓库大小限制。
根据文档,截至2023年,软限制为5 GB。如果超过此限制,可能会收到来自GitHub支持团队的电子邮件。
我们建议仓库保持较小,最好不超过1 GB,强烈建议不超过5 GB。
如果您收到来自GitHub支持团队对一个或多个公共仓库的限制性电子邮件,请将其作为评论附带到此答案,并附上仓库的链接,包括相关情况。
git push
警告限制如果达到75GB,下次推送更改时,你将在终端中收到Git的警告。
此外,对于每个超过50MB但低于硬限制的文件,你将在终端中收到警告。
文件也可以作为二进制文件在发布中共享。截至2020年,每个这样的文件的文件记录大小限制为2GB。我们不允许超过2GB的推送。
我们不限制发布中二进制文件的总大小或传输它们所使用的带宽。然而,每个单独的文件必须小于2GB。
tar
加split
或仅使用split
alone这样的工具将大文件分割成较小的部分,例如每个部分90 MB。一个代码仓库中的文件数量没有明确限制。2015年的一篇帖子提到在 GitHub 仓库中有170万个文件。需要注意的是,如果有100万个文件,根据5 GB 的软限制,每个文件的最大平均大小为5 KB,或者根据100 GB 的硬限制,每个文件的最大平均大小为100 KB。
有用户报告称其仓库被禁用时有2200万次提交repo disabled at 22 million commits。
要成功地使用git推送大量的字节,很可能首先需要将 http.postBuffer
配置为足够大的值,并确保有足够的可用系统内存。
除了使用git之外,以编程方式编写不经常更新的文件的另一种方法是使用v3 REST或v4 GraphQL API,使用个人访问令牌。在这样做时,请确保不超过用户特定的每小时请求限制。与git不同,该API似乎不允许提交增量或差异。
在使用git时,可以对整个存储库或某些文件的内容进行加密,但有几个注意事项。
对于Bitbucket,请考虑这个答案。在可行的情况下,我个人会同时推送到GitHub和Bitbucket,提供隐式备份。
截至2022年,GitLab(而不是GitHub)似乎将其每个存储库的免费配额从10GB降低到仅为所有存储库合计5GB!你可以在GitLab 账户中查看已使用的总空间。
根据GitHub的文档:
GitHub没有设置磁盘配额。我们尽力为所有Git存储库提供丰富的存储空间,但也要有度。保持存储库的小巧可以确保我们的服务器快速,用户下载迅速。
并且
此外,我们对超过100 MB的文件放置了严格的限制。
接下来是我的非官方回答。GitHub可能允许您存储高达100MB的文件,但您还应该警惕不要将二进制或其他类似的blob类型文件进行版本控制。原因是Git无法很好地处理二进制文件,并会导致存储空间的巨大惩罚。因此,如果您发现每个文件都达到了100MB,您应该检查一下您正在处理何种类型的文件。
根据2019年版本的此页面和https://help.github.com/articles/working-with-large-files/,存储库大小没有限制,但超过1 GB后,他们可能会通过邮件要求你缩小存储库的大小:
我们建议将存储库保持在每个存储库不超过1GB。如果将大文件排除在存储库之外,则很容易保持在此限制范围内。 如果您的存储库超过1GB,则可能会收到来自GitHub支持的礼貌邮件,请求您减小存储库的大小以使其恢复到1GB以下。
此外,如果推送的文件超过50 MB,您将看到警告,并且不接受超过100 MB的文件。
文件和代码库大小限制
为了保证用户的良好使用体验,我们建议将代码库保持在每个不超过1GB 的范围内。保持代码库小能够确保我们的服务器运行快速并且下载速度快。如果您的代码库超过1GB,您可能会收到来自GitHub支持团队的电子邮件要求您进行缩减。
代码库的硬性大小限制为100GB。如果达到75GB,则您将在下一次推送更改时从终端中收到Git的警告。此外,对于一个代码库中的单个文件,我们还设置了严格的最大大小限制,为100 MB。
来源:Github -> what-is-my-disk-quota
注意:如果您通过浏览器向代码库添加文件,则该文件的大小不能超过25 MB。有关更多信息,请参见...
限制已增加。 每个文件为500Mb。 存储库大小没有限制。 无限制的存储库。 这些限制仅适用于免费帐户。 如果您付款,限制确实会增加。
无论如何,如果GitHub适合您的项目,您不应太在意限制,即使自从微软收购以来,GitHub的真正目的是获取您的源代码。 无论您对此有何看法,他们确实为团队和开源代码提供了有趣的工具。对于那些真正需要安全性的公司来说,在“别人的计算机”上托管文件并不重要。