Github:只读访问私有仓库

Posted

技术标签:

【中文标题】Github:只读访问私有仓库【英文标题】:Github: readonly access to a private repo 【发布时间】:2011-02-21 13:03:31 【问题描述】:

我正在 Github 上开发一些私人项目,我想将每晚的 cronjobs 添加到我的部署服务器中,以从 github 拉取最新版本。我目前正在通过在每个部署服务器上生成密钥对并将公钥添加到 github 项目作为“部署密钥”来执行此操作。

但是,我最近发现这些部署密钥实际上确实对项目具有写入权限。因此,每个服务器管理员都可能开始编辑。此外,我可以将每个部署密钥添加到仅一个存储库,而我希望能够在同一部署服务器上部署多个存储库。

有没有办法为 Github 上的选定用户提供私有存储库的只读访问权限?

【问题讨论】:

您希望拥有 restricted 只读 访问权限,不是吗?如果您想要无限制只读访问,您可以使用git:// 协议而不是ssh:// (ssh+git://)。 【参考方案1】:

我have it on good authority 认为(相对较新的)"Organizations" 功能允许您添加对私有存储库具有只读访问权限的人员。

【讨论】:

这实际上是一种解决方法,因为您需要创建一个个人帐户。他们可以通过允许每个组织创建具有权限的 API 令牌来更好地设计这一点,从而消除破坏团队成员帐户或创建虚假个人帐户的解决方法。 太糟糕了,您必须为该功能每月支付 25 美元。对于一个小型网站,每年 300 美元可以支付很多其他地方的托管费用。谢谢@Trindaz 这就是为什么 BitBucket 不是 Github 的第二把交椅。 这个答案已经过时了。请参阅只读部署密钥的答案。【参考方案2】:

对于其他发现此问题的人,请知道现在您实际上可以创建只读部署密钥:

https://github.com/blog/2024-read-only-deploy-keys

您仍然可以创建具有写入权限的部署密钥,但必须在添加密钥时明确授予该权限。

【讨论】:

【参考方案3】:

对于组织: 我建议专门为用户创建一个新团队。然后,该团队可以授予对您指定的存储库的只读访问权限。我希望这会有所帮助!

【讨论】:

【参考方案4】:

我知道这些问题是关于 github 的,但也许对于某些读者来说,很高兴知道这在 gitlab 中是可能的并且是免费的。检查https://gitlab.com/help/user/permissions。我花了一些时间使用 github 并没有完全满足我的目的。如果我知道的话,我会用 gitlab 开始这个特定的项目。

【讨论】:

以上是关于Github:只读访问私有仓库的主要内容,如果未能解决你的问题,请参考以下文章

可访问私有仓库的 GitHub 操作

github如何建立私有仓库,git到本地

github设置仓库可见性 私人仓库设置他人协作/可见

markdown 从私有GitHub仓库下载单个文件。您需要一个访问令牌,如本GitHub帮助文章中所述:https://help.github

新建的docker私有仓库怎么访问

在 GitHub 上有一个公共仓库的私有分支?