使用 GitHub 配置存储库权限

已完成

正确设置 GitHub 存储库权限意味着在帮助团队协作和保护代码免受滥用之间找到适当的平衡。 GitHub 支持详细的访问控制,使团队能够在维护数据隐私、安全性和完整性的同时高效协同工作。

权限模型因你拥有的 GitHub 帐户类型而异。 个人和组织可以创建五种类型的帐户:

  • 个人帐户的 GitHub Free - 免费供个人使用,包括在无限公共存储库上允许无限协作者及所有功能,以及在无限私有存储库上具有有限功能(如问题和拉取请求)
  • GitHub Pro - 面向专业开发人员,包括无限制的公共和专用存储库、无限协作者和高级代码评审工具
  • GitHub 组织版免费 - 组织可免费使用,支持无限协作者使用具有全部功能的无限公开存储库,以及具有有限功能的无限私有存储库。 还包括比个人帐户更高的每月 GitHub Actions 分钟限制和 GitHub Packages 存储限制
  • GitHub 团队 - 对于团队,包括所有 GitHub Pro 功能,以及团队和用户权限、代码评审工具和专用存储库的高级工具
  • GitHub Enterprise - 对于企业级组织,包括所有 GitHub 团队功能,以及企业级安全功能,例如单一登录、审核日志和合规性控制。 此计划可以自承载在本地或云环境中(GitHub Enterprise Cloud)

个人帐户的 GitHub Free 中的存储库权限

适用于个人帐户的 GitHub 免费版:对于公共存储库,任何人都可以查看和分支存储库。 对于专用存储库,存储库所有者可以完全控制谁可以访问和参与存储库,最多允许三个协作者。 只能有一个所有者,因此所有权权限不能与其他个人帐户共享。 此外,在专用存储库中,存储库所有者只能向协作者授予写入访问权限。 换句话说,协作者不能对个人帐户拥有的存储库具有只读访问权限。

GitHub Pro 中的存储库权限

GitHub Pro 包括与个人帐户的 GitHub Free 相同的存储库权限级别,但具有更高级的协作功能,例如受保护的分支和代码所有者。

适用于组织的 GitHub Free 中的存储库权限

适用于组织的 GitHub Free 包括创建团队的功能,这些团队可以访问具有不同权限级别的特定存储库。 可以授予团队写入访问权限或管理员访问权限,并且可以创建自定义角色,以便向不同的用户或组授予特定权限。

组织中用户的默认非管理角色是组织成员。 默认情况下,组织成员拥有一些权限,包括创建存储库的功能。

其他组织角色对存储库具有提升的权限,例如:

  • 组织审查者 - 可以在组织拥有的公共存储库中隐藏注释
  • 安全管理器 - 可以读取组织中的所有存储库
  • 所有者 - 具有所有与存储库相关的权限,包括添加协作者、写入和删除存储库

组织所有者可以在访问其任何存储库时设置应用于组织的所有成员的基本权限。 基本权限不适用于外部协作者。 为单个存储库提供更高级别的访问权限会覆盖基本权限。

可以通过向组织成员和外部协作者分配内置存储库角色来自定义对存储库的访问权限。 这些角色包括:

  • 阅读 - 建议用于希望能够查看存储库内容的非代码参与者
  • 会审 - 建议用于需要管理问题、讨论和拉取请求的参与者,无需写入访问权限
  • 写入 - 建议主动推送到存储库的参与者
  • 维护 - 建议项目经理在需要管理存储库的同时,又不需访问那些敏感或破坏性的动作
  • 管理员 - 推荐给需要完全权限的人员,包括执行如管理安全性或删除存储库等敏感和破坏性操作。

GitHub Team 中的存储库权限

GitHub 团队包括与组织 GitHub Free 相同的存储库权限级别,并添加了对团队的支持以及更高级的安全功能,例如授权 IP 范围和企业级身份验证。 团队是由组织成员组成的小组。 组织所有者和团队维护人员可以向团队授予存储库权限。

GitHub Enterprise Cloud 中的存储库权限

GitHub Enterprise Cloud 专为企业级组织设计,包括 GitHub Team 的所有功能,以及企业级安全功能,例如单一登录、审核日志和合规性控制。 GitHub Enterprise Cloud 支持对存储库权限的非常详细的控制,包括能够在分支级别管理权限。 组织所有者还可以创建自定义角色,以便为不同的用户或团队提供比内置读取、会审、写入、维护和管理员角色更详细的权限。