草庐IT

git - GitHub.com 的存储库大小限制

coder 2023-06-24 原文

最近我一直在使用 GitHub,我想知道 github.com 上托管的文件的存储库大小限制是多少?

最佳答案

已知限制

有多个适用的存储库大小限制。

软限制

截至 2022 年,根据 docs,这是 5 GB。如果超过此限制,您可能会收到来自 GitHub 支持的电子邮件。

We recommend repositories remain small, ideally less than 1 GB, and less than 5 GB is strongly recommended.

如果您碰巧从 GitHub 支持部门收到一封针对一个或多个公共(public)存储库的限制电子邮件,请将其报告为对此答案的评论以及存储库的链接,包括相关情况。

git push 警告限制

截至 2020 年,下面摘录的 archived docs ( backup ) 陈述如下。可以合理地假设这仍然适用。这个限制显然可以忽略不计。

If you reach 75GB, you'll receive a warning from Git in your terminal the next time you push a change.

此外,对于每个超过 50MB 但低于硬限制的文件,您都会在终端中收到警告。

硬限制

截至 2022 年,虽然 docs 没有说明每个存储库的硬限制,但可以合理地假设之前记录的每个存储库 100 GB 的硬限制 仍然适用,至少在任何理论上如此收到来自 GitHub 支持的电子邮件。同样摘录在下方的文档仅说明每个文件 100 MB 的硬限制

Individual files in a repository are strictly limited to a 100 MB maximum size limit.

截至 2020 年,下面摘录的 archived docs 声明每个存储库的硬限制为 100 GB。同样,可以合理地假设此硬性限制仍然适用。

Repositories have a hard size limit of 100GB.

截至 2018 年,documented (archive link) 推送大小限制为 2 GB,尽管相关的 considerations 也适用于大型推送。

we don’t allow pushes over 2GB

文件也可以在发布中作为二进制文件共享。截至 2020 年,每个此类文件的 documented 大小限制为 2 GB。

We don't limit the total size of the binary files in the release or the bandwidth used to deliver them. However, each individual file must be smaller than 2 GB.

搜索注意事项

如果想要使用 GitHub 搜索 API,请注意所有适用的附加 considerations

检查使用的尺寸

https://github.com/settings/repositories 中显示了您直接拥有管理员访问权限(但不是通过团队访问)的每个存储库的大小。或者,git-sizer 工具可以在本地估计 repo 大小。

绕过文件大小限制

如果它适用于您的应用程序,则可以使用诸如 tar 之类的工具将 split a large file 分成 90 MB 的部分。

我建议不要使用 Git LFS,因为 GitHub 强加的免费计划中的 limits 很少。

文件数量

一个 repo 协议(protocol)中的最大文件数没有既定的限制。 post from 2015 注释在 GitHub 存储库中有 170 万个文件。请注意,拥有 100 万个文件会将每个文件的最大平均值限制为 100 KB(根据假定的 100 GB 硬限制)或 5 KB(根据 5 GB 的软限制)。

怎么写

为了能够使用 git 成功推送大量字节,您很可能首先必须将 configure http.postBuffer 设置为足够大的值,并有足够的可用系统内存。

除了使用 git 之外,另一种以编程方式写入更新不多的文件的方法是使用 v3 REST 或使用 v4 GraphQLpersonal access token API。这样做时,请确保不超过用户特定的每小时速率限制。与 git 不同,此 API 似乎不允许提交增量或差异。

加密

使用 git 时可以加密 the entire repo 或仅 some files 的内容,但有几个注意事项。

比较

对于 Bitbucket,考虑 this answer 。如果可行,我会亲自 push to both GitHub 和 Bitbucket,提供隐式备份。

截至 2022 年,GitLab(而非 GitHub)似乎将其免费配额从每个存储库 10 GB 降低到所有存储库的总和 5 GB!您可以看到 GitLab account 中使用的总空间。

关于git - GitHub.com 的存储库大小限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38768454/

有关git - GitHub.com 的存储库大小限制的更多相关文章

  1. ruby-on-rails - 在 Rails 中将文件大小字符串转换为等效千字节 - 2

    我的目标是转换表单输入,例如“100兆字节”或“1GB”,并将其转换为我可以存储在数据库中的文件大小(以千字节为单位)。目前,我有这个:defquota_convert@regex=/([0-9]+)(.*)s/@sizes=%w{kilobytemegabytegigabyte}m=self.quota.match(@regex)if@sizes.include?m[2]eval("self.quota=#{m[1]}.#{m[2]}")endend这有效,但前提是输入是倍数(“gigabytes”,而不是“gigabyte”)并且由于使用了eval看起来疯狂不安全。所以,功能正常,

  2. git使用常见问题(提交代码,合并冲突) - 2

    文章目录git常用命令(简介,详细参数往下看)Git提交代码步骤gitpullgitstatusgitaddgitcommitgitpushgit代码冲突合并问题方法一:放弃本地代码方法二:合并代码常用命令以及详细参数gitadd将文件添加到仓库:gitdiff比较文件异同gitlog查看历史记录gitreset代码回滚版本库相关操作远程仓库相关操作分支相关操作创建分支查看分支:gitbranch合并分支:gitmerge删除分支:gitbranch-ddev查看分支合并图:gitlog–graph–pretty=oneline–abbrev-commit撤消某次提交git用户名密码相关配置g

  3. HBase Region 简介和建议数量&大小 - 2

    Region是HBase数据管理的基本单位,region有一点像关系型数据的分区。region中存储这用户的真实数据,而为了管理这些数据,HBase使用了RegionSever来管理region。Region的结构hbaseregion的大小设置默认情况下,每个Table起初只有一个Region,随着数据的不断写入,Region会自动进行拆分。刚拆分时,两个子Region都位于当前的RegionServer,但处于负载均衡的考虑,HMaster有可能会将某个Region转移给其他的RegionServer。RegionSplit时机:当1个region中的某个Store下所有StoreFile

  4. ruby-on-rails - Ruby 中意外的大小写行为 - 2

    我在一段非常简单的代码(如我所想)中得到了一个错误的值:org=4caseorgwhenorg=4val='H'endputsval=>nil请不要生气,我希望我错过了一些非常明显的东西,但我真的想不通。谢谢。 最佳答案 这是典型的Ruby错误。case有两种被调用的方法,一种是你传递一个东西作为分支的基础,另一种是你不传递的东西。如果您确实在case中指定了一个表达式语句然后评估所有其他条件并与===进行比较.在这种情况下org评估为false和org===false显然不是真的。所有其他情况也是如此,它们要么是真的,要么是假的。

  5. ruby - 改变替换的大小写 - 2

    我有以下内容:text.gsub(/(lower)(upper)/,'\1\2')我可以将\2替换为大写吗?类似于:sed-e's/\(abc\)/\U\1/'这在Ruby中可行吗? 最佳答案 查看gsub文档:str.gsub(模式){|匹配|block}→new_str在block形式中,当前匹配字符串作为参数传入,$1、$2、$`、$&、$'等变量将被适当设置。block返回的值将替换为每次调用的匹配项。"alowerupperb".gsub(/(lower)(upper)/){|s|$1+""+$2.upcase}

  6. 语法类似于 GitHub Flavored Markdown 的 Ruby markdown 解释器? - 2

    我使用Jekyll运行博客,并认为我会解决RedcarpetMarkdown解释器,因为它是developedandusedbyGitHub.好吧,我只是碰巧遇到了一个错误,去检查问题,然后foundthis.Maintainersays,"Asyouprobablyhavenoticed(harharharhar)Idon'thavetimetomaintainRedcarpetanymore.It'snotapriorityforme(IfindMarkdownthoroughlyboring)andit'snotapriorityforGitHub,becausewenolong

  7. ruby - Dropbox 类似 git 的服务——没有 rsync 和 inotify - 2

    关于如何使用git设置类似Dropbox的服务,您有什么建议吗?您认为git是解决此问题的合适工具吗?我在考虑使用git+rush解决方案,你觉得怎么样? 最佳答案 检查这个开源项目:https://github.com/hbons/SparkleShare来自项目的自述文件:Howdoesitwork?SparkleSharecreatesaspecialfolderonyourcomputer.Youcanaddremotelyhostedfolders(or"projects")tothisfolder.Theseprojec

  8. ruby - 混帐 & ruby : How can I unset the GIT_DIR variable from inside a ruby script? - 2

    我编写了一个非常简单的“部署”脚本,作为我的裸git存储库中的post-updateHook运行。变量如下livedomain=~/mydomain.comstagingdomain=~/stage.mydomain.comgitrepolocation=~/git.mydomain.com/thisrepo.git(bare)core=~/git.mydomain.com/thisrepo.gitcore==addedremoteintoeachlive&stagegitslive和stage都初始化了gitrepos(非裸),我已经将我的裸仓库作为远程添加到它们中的每一个(名为co

  9. ruby - 让 bundler 使用 http : instead of git:? - 2

    我正在安装gitlabhq,并且在Gemfile中有对某些资源的“git://...”的引用。但是,我在公司防火墙后面,所以我必须使用http://。我可以手动编辑Gemfile,但我想知道是否有另一种方法告诉bundler使用http://作为git存储库? 最佳答案 您可以通过运行gitconfig--globalurl."https://".insteadOfgit://或通过将以下内容添加到~/.gitconfig:[url"https://"]insteadOf=git://

  10. ruby - vagrant 从 github 安装插件 - 2

    我们正在使用Vagrant进行部署,我们最终希望将此集群部署在Rackspace上。vagrant-rackspace插件是一个自然的选择,但它有一些错误,这些错误未包含在最新的0.1.1版本中(notablythatvagrantprovisiondoesn'twork)。我已经在我的personalfork中解决了这个问题通过合并其他人的工作来对存储库进行改造。是否可以从github安装vagrant插件?显而易见的事情没有奏效:[unix]$vagrantplugininstallvagrant-rackspace--plugin-sourcehttps://github.com

随机推荐