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:只读访问私有仓库的主要内容,如果未能解决你的问题,请参考以下文章
markdown 从私有GitHub仓库下载单个文件。您需要一个访问令牌,如本GitHub帮助文章中所述:https://help.github