github限制公共存储库

ibps3vxo  于 2023-01-01  发布在  Git
关注(0)|答案(3)|浏览(154)

github有公共访问限制吗?
在这个例子中:
a random file x1月1x
如果一百万用户下载了这个文件会发生什么?

ghhaqwfi

ghhaqwfi1#

我不认为有任何限制。我在github上部署了很多简单的静态网站,有很多用户访问。有时候,我看到它有点慢(在流量大的时候)。但是限制,没有任何限制。

rjee0c15

rjee0c152#

GitHib对“公共”代码访问的定义 * 非常模糊 * 在线所以希望这能帮助任何像我一样困惑的人!

  • GitHub混淆了“public”和“open source”。* 前者是GitHub上基于许可的访问权限和“git”工作流策略,后者是一个许可问题和更广泛的代码访问范式。但他们将两者混合在一起,在网站上创建了一个新的工作流,用于如何使用 * 源代码控制git* 共享代码。

一般来说,GitHub的“公共”存储库在访问和使用方面与“开源”接近,它意味着任何公共的GitHub存储库都可以被查看、下载、派生、但是,除此之外,从对所有者原始代码库的“写”访问开始的任何事情都需要回购协议的“所有者”将该人添加为“协作者”。我将其解释为任何已知的人、机器、进程等都可以无限制地复制、下载和查看您的代码!
但是,示例 * 开源许可证 *(像GNU 3.0一样,等等),他们建议你为你的项目创建或使用可能会在法律上限制你的代码的一些使用。由他们不会帮助你执行或限制。一旦你的代码是在线的,没有脚本或律师或执行实体可以阻止任何这一切。这就是为什么它被称为“开源”。我用过GNU的“免费啤酒”许可证分发我的个人代码之前,并喜欢它,虽然我从来没有看到一个需要执行它至于限制很多。它将帮助的主要事情是确保您仍然是版权所有者的代码在美国和其他一些国家...和...阻止大公司实体采取您的代码和索赔版权,限制免费使用,等等。

Github如何定义“公共”

  • 注意:以下内容适用于GiHub个人,而不是对GitHub代码项目和存储库拥有更细粒度控制的组织或企业账户。*

当你在GitHub上公开的时候,意味着你把你的repo变成了“公共”访问,你允许某种形式的“开源”或“免费”使用代码。2在“git”世界里,这可能是很多不同的东西,包括访问和使用。3但在GitHub世界里,这意味着当你的repo是“公开”的时候,默认情况下,人或机器有完全的“读”权限。就访问和使用而言,这到底意味着什么?它意味着:
1.任何人或任何机器都可以免费在线查看代码(他们称之为“可见”)或代码文件,包括在Web浏览器中手动复制代码。这意味着可以无限制地查看和使用您的代码。
1.任何人或任何机器都可以通过他们的代码下载链接“下载”代码。在GitHub的世界里,这意味着所有代码文件的压缩 Package 成一种格式,你可以在一个文件中下载。这意味着你的代码可以无限下载。
1.任何人或任何机器都可以“分叉”(不是“克隆”)代码。在GitHub的世界里,这意味着GitHub * 复制 * 代码,并将副本粘贴到您的GitHub在线网络帐户中,如果您有一个帐户的话。这个副本是他们的“分支”,尽管传统上这不是“派生软件”的意思。有了这个拷贝,用户就可以下载一个“克隆”分支代码的副本到他们的本地机器,并开始修改它,并将更改推到GitHub分支副本。如果你不将他们设置为“合作者”,他们就不能对这些更改做任何事情,就像更改你的原始代码库一样。但它确实包括与世界分享,这会增加更多您无法跟踪的人查看和下载您的代码库的次数!所以“public”意味着所有公共克隆、镜像或派生都可以下载和共享。
顺便说一句...."forkingGitHub world 中的代码意味着将包含所有提交和git源代码历史的代码复制到他们的GitHub帐户中,以便稍后--在您授予更多权限的情况下--他们可以通过拉取请求将您的代码提交回原始仓库代码库。
这一点一开始让我很困惑,因为我以为GitHub的“公共”存储库意味着任何人都只能将原始repo“克隆”到他们的本地盒子,这将允许任何人使用GitHub远程repo的本地副本并拉取代码更新。在这种模型中,他们永远不能在没有额外权限的情况下进行推送或拉取请求更新,这是有道理的,但也不能在线共享你的代码副本(除非他们从你的代码库中显式地在GitHub上创建了一个新的repo)。

但这并不是"公共"对他们来说意味着什么。他们希望人们直接把项目复制到公共网站上,并使用fork修改他们平台上的代码。这是GitHub鼓励的工作流。这允许任何用户或机器对所有内容进行完整的复制,并对复制的内容做任何他们想做的事情。包括分享和分发给其他人。这就是为什么"公共访问"确实会让你的代码面临很多疯狂的事情,包括你的代码副本在GitHub上迅速传播,而没有办法知道有多少人真正在项目中使用过它,甚至没有办法关心有多少人贡献给你的原创。
就我个人而言,在我工作过的所有使用Git的公司中,我从未见过这种类型的仓库分发模式。我们总是在开发环境中克隆一个master,然后从那里远程和本地地构建分支。感觉这没有经过深思熟虑,因为它将代码分发到数百万个版本的fork中,大多数人从未要求过,无法同步,而且会随着时间的推移而忘记。

wgx48brx

wgx48brx3#

以下是GitHub员工关于"原始"文件访问的评论:
我和我们的工程团队谈过,了解到每个IP地址每小时有5000个请求的限制。另外,由于内部路由和缓存,5000个数字并不准确。我们可能会接受更多,但有时也可能接受更少。
正如有人向我指出的那样,如果您有达到这个限制的风险,那么您可能做错了什么,有一种更好的方法来获取甚至存储文件。
经过一年多的等待,他们仍然没有确认这是准确的或更新的文档,所以我猜通过GitHub API路由请求和使用令牌可能更可靠。
参考:https://github.com/littlebizzy/slickstack/issues/180
参考:https://github.com/github/docs/issues/8031

相关问题