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

Enforcing repository management policies in your enterprise

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

本文内容

在设备上配置新仓库的默认可见性

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

如果站点管理员不允许成员创建某种类型的仓库,成员将无法创建此类仓库,即使可见性设置默认为此类型。 更多信息请参阅“限制在实例中创建仓库”。

提示:您可以将更改仓库可见性的权限仅分配给站点管理员。 更多信息请参阅“阻止用户更改仓库可见性”。

  1. 在任何页面的右上角,单击
    用于访问站点管理员设置的火箭图标
  2. 在左侧边栏中,单击 Enterprise(企业)
    站点管理设置中的 Enterprise(企业)选项卡
  3. 在企业帐户侧边栏中,单击 Settings(设置)
    企业帐户侧边栏中的“设置”选项卡
  4. 在“ Settings(设置)”下,单击 Options(选项)
    企业帐户设置侧边栏中的 Options(选项)选项卡
  5. 在“默认仓库可见性”下,使用下拉菜单并选择默认可见性。
    用于为实例选择默认仓库可见性的下拉菜单

警告:如果您在拉取请求或议题评论中添加了图像附件,则任何人都可以查看匿名图像 URL,无需身份验证,即使该拉取请求位于私有仓库中或者启用了私有模式。 要对敏感图像保密,请从需要身份验证的私有网络或服务器提供它们。

Setting a policy for changing a repository's visibility

当您阻止成员更改仓库可见性时,只有站点管理员可以将公共仓库设置为私有或者将私有仓库设置为公共。

如果站点管理员仅允许组织所有者创建仓库,成员将无法更改仓库可见性。 如果站点管理员只允许成员创建私有仓库,则成员只能将仓库从公共更改为私有。 For more information, see "Setting a policy for repository creation."

  1. 在任何页面的右上角,单击

    用于访问站点管理员设置的火箭图标

  2. 在左侧边栏中,单击 Enterprise(企业)

    站点管理设置中的 Enterprise(企业)选项卡

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

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

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

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

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

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

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

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

Setting a policy for repository creation

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

  1. 在任何页面的右上角,单击

    用于访问站点管理员设置的火箭图标

  2. 在左侧边栏中,单击 Enterprise(企业)

    站点管理设置中的 Enterprise(企业)选项卡

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

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

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

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

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

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

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

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

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

    仓库类型复选框

Setting a policy for repository deletion and transfer

  1. 在任何页面的右上角,单击

    用于访问站点管理员设置的火箭图标

  2. 在左侧边栏中,单击 Enterprise(企业)

    站点管理设置中的 Enterprise(企业)选项卡

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

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

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

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

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

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

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

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

Setting a policy for Git push limits

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

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

  1. 在任何页面的右上角,单击
    用于访问站点管理员设置的火箭图标
  2. 在左侧边栏中,单击 Enterprise(企业)
    站点管理设置中的 Enterprise(企业)选项卡
  3. 在企业帐户侧边栏中,单击 Settings(设置)
    企业帐户侧边栏中的“设置”选项卡
  4. 在“ Settings(设置)”下,单击 Options(选项)
    企业帐户设置侧边栏中的 Options(选项)选项卡
  5. 在“Repository upload limit”下,使用下拉菜单,然后单击最大对象大小。
    包含最大对象大小选项的下拉菜单
  6. 或者,要对 您的 GitHub Enterprise Server 实例 上的所有仓库执行最大上传限制,请选择 select Enforce on all repositories(对所有仓库强制执行)
    对所有仓库选项强制执行最大对象限制

Configuring the merge conflict editor for pull requests between repositories

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

  1. 在任何页面的右上角,单击
    用于访问站点管理员设置的火箭图标
  2. 在左侧边栏中,单击 Enterprise(企业)
    站点管理设置中的 Enterprise(企业)选项卡
  3. 在企业帐户侧边栏中,单击 Settings(设置)
    企业帐户侧边栏中的“设置”选项卡
  4. 在“ Settings(设置)”下,单击 Options(选项)
    企业帐户设置侧边栏中的 Options(选项)选项卡
  5. 在“Conflict editor for pull requests between repositories”下,使用下拉菜单,然后单击 Disabled
    包含用于禁用合并冲突编辑器的选项的下拉菜单

Configuring force pushes

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

Blocking all force pushes on your appliance

  1. 在任何页面的右上角,单击
    用于访问站点管理员设置的火箭图标
  2. 在左侧边栏中,单击 Enterprise(企业)
    站点管理设置中的 Enterprise(企业)选项卡
  3. 在企业帐户侧边栏中,单击 Settings(设置)
    企业帐户侧边栏中的“设置”选项卡
  4. 在“ Settings(设置)”下,单击 Options(选项)
    企业帐户设置侧边栏中的 Options(选项)选项卡
  5. 在“Force pushes(强制推送)”下,使用下拉菜单,然后单击 Allow(允许)Block(阻止)Block to the default branch(阻止到默认分支)
    强制推送下拉菜单
  6. 可以视情况选择 Enforce on all repositories,这将覆盖强制推送的组织和仓库级别设置。

Blocking force pushes to a specific repository

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

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

Configuring anonymous Git read access

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

If you have enabled private mode on your instance, you can allow repository administrators to enable anonymous Git read access to public repositories.

Enabling anonymous Git read access allows users to bypass authentication for custom tools on your instance. 当您或仓库管理员为仓库启用此权限设置时,未经过身份验证的 Git 操作(和具有 GitHub Enterprise Server 的网络访问权限的任何人)将获得仓库的读取权限(无需身份验证)。

If necessary, you can prevent repository administrators from changing anonymous Git access settings for repositories on 您的 GitHub Enterprise Server 实例 by locking the repository's access settings. 在您锁定仓库的 Git 读取权限设置后,只有站点管理员可以更改设置。

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

注:

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

Setting anonymous Git read access for all repositories

  1. 在任何页面的右上角,单击
    用于访问站点管理员设置的火箭图标
  2. 在左侧边栏中,单击 Enterprise(企业)
    站点管理设置中的 Enterprise(企业)选项卡
  3. 在企业帐户侧边栏中,单击 Settings(设置)
    企业帐户侧边栏中的“设置”选项卡
  4. 在“ Settings(设置)”下,单击 Options(选项)
    企业帐户设置侧边栏中的 Options(选项)选项卡
  5. 在“Anonymous Git read access”下,使用下列菜单并单击 Enabled
    匿名 Git 读取权限下拉菜单显示菜单选项"Enabled(已启用)"和"Disabled(已禁用)"
  6. 或者,如果要阻止仓库管理员为实例上的所有仓库更改匿名 Git 读取权限设置,请选择 Prevent repository admins from changing anonymous Git read access
    选中复选框可阻止仓库管理员更改实例上所有仓库的匿名 Git 读取权限设置。

Setting anonymous Git read access for a specific repository

  1. 在任何页面的右上角,单击
    用于访问站点管理员设置的火箭图标
  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 读取权限。

问问别人

找不到要找的内容?

联系我们