我们经常发布文档更新,此页面的翻译可能仍在进行中。有关最新信息,请访问英文文档。如果此页面上的翻译有问题,请告诉我们

此版本的 GitHub Enterprise 已停止服务 2021-03-02. 即使针对重大安全问题,也不会发布补丁。 要获得更好的性能、改进的安全性和新功能,请升级到 GitHub Enterprise 的最新版本。 如需升级方面的帮助,请联系 GitHub Enterprise 支持

在企业中实施仓库管理策略

企业所有者可为企业帐户拥有的所有组织实施特定仓库管理策略,或允许在每个组织中设置策略。

本文内容

配置企业中新仓库的默认可见性

每次有人在您的企业上创建新仓库时,此人必须选择仓库的可见性。 当您配置企业的默认可见性设置时,需要选择默认可见性。 有关仓库可见性的更多信息,请参阅“关于仓库可见性。”

如果企业所有者不允许成员创建某种类型的仓库,成员将无法创建此类仓库,即使可见性设置默认为此类型。 更多信息请参阅“设置仓库创建策略”。

  1. 访问 https://HOSTNAME/enterprises/ENTERPRISE-NAME,将 HOSTNAME 替换为您的实例的主机名,将 ENTERPRISE-NAME 替换为您的企业帐户的名称,找到您的企业帐户。
  1. 在企业帐户侧边栏中,单击 Settings(设置)

    企业帐户侧边栏中的“设置”选项卡

  2. 在“ Settings(设置)” 下,单击 Options(选项)

    企业帐户设置侧边栏中的 Options(选项)选项卡

  3. 在“默认仓库可见性”下,使用下拉菜单并选择默认可见性。

    用于选择企业的默认仓库可见性的下拉菜单

警告:如果您在拉取请求或议题评论中添加了图像附件,则任何人都可以查看匿名图像 URL,无需身份验证,即使该拉取请求位于私有仓库中或者启用了私有模式。 为防止未经授权而访问映像,请确保限制从网络访问提供映像的系统,包括 您的 GitHub Enterprise Server 实例。

设置有关更改仓库可见性的策略

当您阻止成员更改仓库可见性时,只有企业所有者可以更改仓库的可见性。

如果企业所有者仅允许组织所有者创建仓库,则成员将无法更改仓库可见性。 如果企业所有者只允许私有仓库成员创建私有仓库,则成员只能将仓库的可见性更改为私有。 更多信息请参阅“设置仓库创建策略”。

  1. 访问 https://HOSTNAME/enterprises/ENTERPRISE-NAME,将 HOSTNAME 替换为您的实例的主机名,将 ENTERPRISE-NAME 替换为您的企业帐户的名称,找到您的企业帐户。

  2. 在企业账户侧边栏中,单击 Policies(政策)

    企业帐户侧边栏中的 Policies(政策)选项卡

  3. 在“ Policies(政策)”下,单击 Repositories(仓库)

    企业帐户设置侧边栏中的“仓库”选项卡

  4. 在“Repository visibility change”下,检查有关更改设置的信息。 (可选)要在实施设置之前,查看设置对企业帐户中所有组织的当前配置,请单击 View your organizations' current configurations(查看组织的当前配置)

    查看企业中组织的当前策略配置的链接

  5. 在“Repository visibility change(仓库可见性更改)”下,使用下拉菜单选择策略。

    带有仓库可见性策略选项的下拉菜单

设置仓库创建策略

组织所有者始终可以创建任何类型的仓库,而外部协作者永远不能创建任何类型的仓库。 更多信息请参阅“关于仓库可见性”。

  1. 访问 https://HOSTNAME/enterprises/ENTERPRISE-NAME,将 HOSTNAME 替换为您的实例的主机名,将 ENTERPRISE-NAME 替换为您的企业帐户的名称,找到您的企业帐户。

  2. 在企业账户侧边栏中,单击 Policies(政策)

    企业帐户侧边栏中的 Policies(政策)选项卡

  3. 在“ Policies(政策)”下,单击 Repositories(仓库)

    企业帐户设置侧边栏中的“仓库”选项卡

  4. 在“Repository creation”下,检查有关更改设置的信息。 (可选)要在实施设置之前,查看设置对企业帐户中所有组织的当前配置,请单击 View your organizations' current configurations(查看组织的当前配置)

    查看企业中组织的当前策略配置的链接

  5. 在“Repository creation(仓库创建)”下,选择一个策略。

    带有仓库创建策略选项的下拉菜单

  6. 如果您选择 Members can create repositories(成员可创建仓库),请选择一个或多个仓库类型。

    仓库类型复选框

实施有关复刻私有或内部仓库的策略

在企业拥有的所有组织中,您可以允许有权访问私有或内部仓库的人员复刻仓库、永远不允许分支私有或内部仓库,或者允许所有者在组织级别管理设置。

  1. 访问 https://HOSTNAME/enterprises/ENTERPRISE-NAME,将 HOSTNAME 替换为您的实例的主机名,将 ENTERPRISE-NAME 替换为您的企业帐户的名称,找到您的企业帐户。

  2. 在企业账户侧边栏中,单击 Policies(政策)

    企业帐户侧边栏中的 Policies(政策)选项卡

  3. Repository policies(仓库策略)选项卡中的“Repository forking(仓库复刻)”下,审查有关更改设置的信息。 (可选)要在实施设置之前,查看设置对企业帐户中所有组织的当前配置,请单击 View your organizations' current configurations(查看组织的当前配置)

    查看企业中组织的当前策略配置的链接

  4. 在“Repository forking(仓库复刻)”下,使用下拉菜单并选择策略。

    带有仓库复刻策略选项的下拉菜单

设置仓库删除和转移的策略

  1. 访问 https://HOSTNAME/enterprises/ENTERPRISE-NAME,将 HOSTNAME 替换为您的实例的主机名,将 ENTERPRISE-NAME 替换为您的企业帐户的名称,找到您的企业帐户。

  2. 在企业账户侧边栏中,单击 Policies(政策)

    企业帐户侧边栏中的 Policies(政策)选项卡

  3. 在“ Policies(政策)”下,单击 Repositories(仓库)

    企业帐户设置侧边栏中的“仓库”选项卡

  4. 在“Repository deletion and transfer”下,检查有关更改设置的信息。 (可选)要在实施设置之前,查看设置对企业帐户中所有组织的当前配置,请单击 View your organizations' current configurations(查看组织的当前配置)

    查看企业中组织的当前策略配置的链接

  5. 在“Repository deletion and transfer(仓库删除和转让)”下,使用下拉菜单选择策略。

    带有仓库删除策略选项的下拉菜单

设置 Git 推送限制策略

要使仓库大小保持可管理并防止发生性能问题,可以为企业中的仓库配置文件大小限制。

默认情况下,强制执行仓库上传限制时,无法添加或上传超过 100 MB 的文件。

  1. 访问 https://HOSTNAME/enterprises/ENTERPRISE-NAME,将 HOSTNAME 替换为您的实例的主机名,将 ENTERPRISE-NAME 替换为您的企业帐户的名称,找到您的企业帐户。
  1. 在企业帐户侧边栏中,单击 Settings(设置)

    企业帐户侧边栏中的“设置”选项卡

  2. 在“ Settings(设置)” 下,单击 Options(选项)

    企业帐户设置侧边栏中的 Options(选项)选项卡

  3. 在“Repository upload limit”下,使用下拉菜单,然后单击最大对象大小。

    包含最大对象大小选项的下拉菜单

  4. (可选)要对企业中的所有仓库实施最大上传限制,请选择 Enforce on all repositories(对所有仓库强制执行)

    对所有仓库选项强制执行最大对象限制

为仓库之间的拉取请求配置合并冲突编辑器

要求用户在其计算机上本地解决合并冲突可以避免用户因疏忽而从分叉写入到上游仓库。

  1. 访问 https://HOSTNAME/enterprises/ENTERPRISE-NAME,将 HOSTNAME 替换为您的实例的主机名,将 ENTERPRISE-NAME 替换为您的企业帐户的名称,找到您的企业帐户。
  1. 在企业帐户侧边栏中,单击 Settings(设置)

    企业帐户侧边栏中的“设置”选项卡

  2. 在“ Settings(设置)” 下,单击 Options(选项)

    企业帐户设置侧边栏中的 Options(选项)选项卡

  3. 在“Conflict editor for pull requests between repositories”下,使用下拉菜单,然后单击 Disabled

    包含用于禁用合并冲突编辑器的选项的下拉菜单

配置强制推送

每个仓库都从其所属的用户帐户或组织的设置继承了默认强制推送设置。 同样,每个组织和用户帐户都会从企业的强制推送设置继承默认强制推送设置。 如果更改企业的强制推送设置,则会更改任何用户或组织拥有的所有仓库。

阻止设备上的所有强制推送

  1. 访问 https://HOSTNAME/enterprises/ENTERPRISE-NAME,将 HOSTNAME 替换为您的实例的主机名,将 ENTERPRISE-NAME 替换为您的企业帐户的名称,找到您的企业帐户。
  1. 在企业帐户侧边栏中,单击 Settings(设置)

    企业帐户侧边栏中的“设置”选项卡

  2. 在“ Settings(设置)” 下,单击 Options(选项)

    企业帐户设置侧边栏中的 Options(选项)选项卡

  3. 在“Force pushes(强制推送)”下,使用下拉菜单,然后单击 Allow(允许)Block(阻止)Block to the default branch(阻止到默认分支)

    强制推送下拉菜单

  4. 可以视情况选择 Enforce on all repositories,这将覆盖强制推送的组织和仓库级别设置。

阻止特定仓库的强制推送

注意: 每个仓库自动从拥有它的组织或用户继承默认设置。 如果仓库所有者已在其所有仓库上强制执行设置,则您不能覆盖默认设置。

  1. 登录到 http(s)://HOSTNAME/login 上的 您的 GitHub Enterprise Server 实例。
  2. 从 GitHub Enterprise Server 上的管理帐户,点击任何页面右上角的
    用于访问站点管理员设置的火箭图标
  3. 在搜索字段中,输入仓库的名称,然后单击 Search(搜索)
    站点管理员设置搜索字段
  4. 在搜索结果中,单击仓库名称。
    站点管理设置搜索选项
  5. 在页面的右上角,单击 Admin(管理员)
    管理员工具
  6. 在左侧边栏中,单击 Admin(管理员)
    管理员工具
  7. Push and Pull(推送和拉取)下,选择 Block(阻止)Block to the default branch(阻止到默认分支)
    阻止强制推送

阻止对用户帐户或组织拥有的仓库进行强制推送

仓库从它们所属的用户帐户或组织继承强制推送设置。 反过来,用户帐户和组织从企业的强制推送设置继承其强制推送设置。

您可以通过配置用户帐户或组织的设置来覆盖默认的继承设置。

  1. 登录到 http(s)://HOSTNAME/login 上的 您的 GitHub Enterprise Server 实例。
  2. 从 GitHub Enterprise Server 上的管理帐户,点击任何页面右上角的
    用于访问站点管理员设置的火箭图标
  3. 在搜索字段中,输入用户或组织的名称,然后单击 Search(搜索)
    站点管理员设置搜索字段
  4. 在搜索结果中,单击用户或组织的名称。
    站点管理设置搜索选项
  5. 在页面的右上角,单击 Admin(管理员)
    管理员工具
  6. 在左侧边栏中,单击 Admin(管理员)
    管理员工具
  7. 在“Force pushes”部分的“Repository default settings”下,选择
    • Block 来阻止对所有分支进行强制推送。
    • Block to the default branch 来仅阻止对默认分支进行强制推送。
      阻止强制推送
  8. 可以视情况选择 Enforce on all repositories 来覆盖仓库特定的设置。 注意,这会覆盖企业范围的策略。
    阻止强制推送

配置匿名 Git 读取访问

注:如果启用匿名 Git 读取访问,您将对此功能的所有访问和使用负责。 GitHub 对功能的任何非预期访问或误用概不负责。 此外,使用此功能不得违反 GitHub 的许可,包括您向我们订购的用户许可数的限制。

如果您已经在企业上启用私密模式,可以允许仓库管理员启用对公共仓库的匿名 Git 读取访问。

启用匿名 Git 读取允许用户在企业上为自定义工具绕过身份验证。 当您或仓库管理员为仓库启用此权限设置时,未经过身份验证的 Git 操作(和具有 GitHub Enterprise Server 的网络访问权限的任何人)将获得仓库的读取权限(无需身份验证)。

如有必要,您可以通过锁定仓库的访问设置,阻止仓库管理员更改企业上仓库的匿名 Git 访问设置。 在您锁定仓库的 Git 读取权限设置后,只有站点管理员可以更改设置。

要查看启用了匿名 Git 读取权限的仓库,请在站点管理仪表板中过滤仓库列表。

注意:

  • 不能更改复刻仓库的 Git 读取访问设置,因为它们的访问设置默认继承自根仓库。
  • 如果公共仓库变成私人,则匿名 Git 读取访问权限将对该仓库及其复刻自动禁用。
  • 如果使用匿名身份验证的仓库包含 Git LFS 资产,它将无法下载 Git LFS 资产,因为它们仍然需要身份验证。 强烈建议不要对包含 Git LFS 资产的仓库启用匿名 Git 读取访问。

设置所有仓库的匿名 Git 读取访问

  1. 访问 https://HOSTNAME/enterprises/ENTERPRISE-NAME,将 HOSTNAME 替换为您的实例的主机名,将 ENTERPRISE-NAME 替换为您的企业帐户的名称,找到您的企业帐户。
  1. 在企业帐户侧边栏中,单击 Settings(设置)

    企业帐户侧边栏中的“设置”选项卡

  2. 在“ Settings(设置)” 下,单击 Options(选项)

    企业帐户设置侧边栏中的 Options(选项)选项卡

  3. 在“Anonymous Git read access”下,使用下列菜单并单击 Enabled

    匿名 Git 读取权限下拉菜单显示菜单选项"Enabled(已启用)"和"Disabled(已禁用)"

  4. 或者,如果要阻止仓库管理员为企业上的所有仓库更改匿名 Git 读取权限设置,请选择 Prevent repository admins from changing anonymous Git read access

    选中复选框可阻止仓库管理员更改企业上所有仓库的匿名 Git 读取权限设置。

设置特定仓库的匿名 Git 读取访问

  1. 从 GitHub Enterprise Server 上的管理帐户,点击任何页面右上角的
    用于访问站点管理员设置的火箭图标
  2. 在搜索字段中,输入仓库的名称,然后单击 Search(搜索)
    站点管理员设置搜索字段
  3. 在搜索结果中,单击仓库名称。
    站点管理设置搜索选项
  4. 在页面的右上角,单击 Admin(管理员)
    管理员工具
  5. 在左侧边栏中,单击 Admin(管理员)
    管理员工具
  6. 在“Danger Zone”下的“Enable Anonymous Git read access”旁,请单击 Enable
    仓库站点管理员设置的危险区域中“Enable anonymous Git read access”下的“Enabled”按钮
  7. 审查更改。 要确认,请单击 Yes, enable anonymous Git read access(是,启用匿名 Git 读取权限)
    在弹出窗口中确认匿名 Git 读取权限设置
  8. 或者,如果要阻止仓库管理员为此仓库更改设置,请选择 Prevent repository admins from changing anonymous Git read access
    选中复选框可阻止仓库管理员更改此仓库的匿名 Git 读取权限。