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

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

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

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

本文内容

Configuring the default visibility of new repositories in your enterprise

Each time someone creates a new repository on your enterprise, that person must choose a visibility for the repository. When you configure a default visibility setting for the enterprise, you choose which visibility is selected by default. 有关仓库可见性的更多信息,请参阅“关于仓库可见性。”

如果站点管理员不允许成员创建某种类型的仓库,成员将无法创建此类仓库,即使可见性设置默认为此类型。 For more information, see "Setting a policy for repository creation."

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

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

  2. Under " Settings", click Options.

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

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

    Drop-down menu to choose the default repository visibility for your enterprise

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

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

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

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

  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(仓库创建)”下,使用下拉菜单并选择策略。

    包含仓库创建策略的下拉菜单

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

  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 推送限制策略

To keep your repository size manageable and prevent performance issues, you can configure a file size limit for repositories in your enterprise.

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

:仅会根据 Git 推送限制检查大于 50 MB 的文件。 如果需要设置较低的推送限制,请联系 GitHub Enterprise 支持GitHub 高级支持 获得帮助。

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

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

  2. Under " Settings", click Options.

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

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

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

  4. Optionally, to enforce a maximum upload limit for all repositories in your enterprise, select Enforce on all repositories

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

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

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

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

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

  2. Under " Settings", click Options.

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

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

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

配置强制推送

每个仓库都从其所属的用户帐户或组织的设置继承了默认强制推送设置。 Likewise, each organization and user account inherits a default force push setting from the force push setting for the enterprise. If you change the force push setting for the enterprise, it will change for all repositories owned by any user or organization.

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

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

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

  2. Under " Settings", click Options.

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

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

    强制推送下拉菜单

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

阻止特定仓库的强制推送

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

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

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

仓库从它们所属的用户帐户或组织继承强制推送设置。 User accounts and organizations in turn inherit their force push settings from the force push settings for the enterprise.

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

  1. 登录到 http(s)://HOSTNAME/login 上的 your GitHub Enterprise Server instance。
  2. From an administrative account on GitHub Enterprise Server, click in the upper-right corner of any page.
    用于访问站点管理员设置的火箭图标
  3. 在搜索字段中,输入用户或组织的名称,然后单击 Search(搜索)
    站点管理员设置搜索字段
  4. 在搜索结果中,单击用户或组织的名称。
    站点管理设置搜索选项
  5. 在页面的右上角,单击 Admin(管理员)
    管理员工具
  6. 在左侧边栏中,单击 Admin(管理员)
    管理员工具
  7. 在“Force pushes”部分的“Repository default settings”下,选择
    • Block 来阻止对所有分支进行强制推送。
    • Block to the default branch 来仅阻止对默认分支进行强制推送。
      阻止强制推送
  8. 可以视情况选择 Enforce on all repositories 来覆盖仓库特定的设置。 Note that this will not override an enterprise-wide policy.
    阻止强制推送

配置匿名 Git 读取访问

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

If you have enabled private mode on your enterprise, 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 enterprise. 当您或仓库管理员为仓库启用此权限设置时,未经过身份验证的 Git 操作(和具有 GitHub Enterprise Server 的网络访问权限的任何人)将获得仓库的读取权限(无需身份验证)。

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

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

注意:

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

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

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

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

  2. Under " Settings", click Options.

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

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

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

  4. Optionally, to prevent repository admins from changing anonymous Git read access settings in all repositories on your enterprise, select Prevent repository admins from changing anonymous Git read access.

    Select checkbox to prevent repository admins from changing anonymous Git read access settings for all repositories on your enterprise

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

  1. From an administrative account on GitHub Enterprise Server, click in the upper-right corner of any page.
    用于访问站点管理员设置的火箭图标
  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 读取权限。