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

Enforcing repository management policies in your enterprise

Enterprise owners can enforce certain repository management policies for all organizations owned by an enterprise account, or allow policies to be set in each organization.

本文内容

Configuring the default visibility of new repositories on your appliance

Each time someone creates a new repository on 您的 GitHub Enterprise Server 实例, that person must choose a visibility for the repository. When you configure a default visibility setting for the instance, you choose which visibility is selected by default. For more information on repository visibility, see "About repository visibility."

If a site administrator disallows members from creating certain types of repositories, members will not be able to create that type of repository even if the visibility setting defaults to that type. For more information, see "Restricting repository creation in your instance."

Tip: You can restrict the ability to change repository visibility to site administrators only. For more information, see "Preventing users from changing a repository's visibility."

  1. 在任何页面的右上角,单击
    用于访问站点管理员设置的火箭图标
  2. 在左侧边栏中,单击 Enterprise(企业)
    站点管理设置中的 Enterprise(企业)选项卡
  3. 在企业帐户侧边栏中,单击 Settings(设置)
    企业帐户侧边栏中的“设置”选项卡
  4. 在“ Settings(设置)”下,单击 Options(选项)
    企业帐户设置侧边栏中的 Options(选项)选项卡
  5. Under "Default repository visibility", use the drop-down menu and select a default visibility.
    Drop-down menu to choose the default repository visibility for your instance

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

Setting a policy for changing a repository's visibility

When you prevent members from changing repository visibility, only site administrators have the ability to make public repositories private or make private repositories public.

If a site administrator has restricted repository creation to organization owners only, then members will not be able to change repository visibility. If a site administrator has restricted member repository creation to private repositories only, then members will only be able to change repositories from public to private. For more information, see "Setting a policy for repository creation."

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

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

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

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

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

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

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

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

  5. Under "Repository visibility change", review the information about changing the setting. (可选)要在实施设置之前,查看设置对企业帐户中所有组织的当前配置,请单击 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. Under "Repository creation", review the information about changing the setting. (可选)要在实施设置之前,查看设置对企业帐户中所有组织的当前配置,请单击 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. Under "Repository deletion and transfer", review the information about changing the setting. (可选)要在实施设置之前,查看设置对企业帐户中所有组织的当前配置,请单击 View your organizations' current configurations(查看组织的当前配置)

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

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

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

Setting a policy for Git push limits

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

By default, when you enforce repository upload limits, people cannot add or update files larger than 100 MB.

  1. 在任何页面的右上角,单击
    用于访问站点管理员设置的火箭图标
  2. 在左侧边栏中,单击 Enterprise(企业)
    站点管理设置中的 Enterprise(企业)选项卡
  3. 在企业帐户侧边栏中,单击 Settings(设置)
    企业帐户侧边栏中的“设置”选项卡
  4. 在“ Settings(设置)”下,单击 Options(选项)
    企业帐户设置侧边栏中的 Options(选项)选项卡
  5. Under "Repository upload limit", use the drop-down menu and click a maximum object size.
    Drop-down menu with maximum object size options
  6. Optionally, to enforce a maximum upload limit for all repositories on 您的 GitHub Enterprise Server 实例, select Enforce on all repositories
    Enforce maximum object size on all repositories option

Configuring the merge conflict editor for pull requests between repositories

Requiring users to resolve merge conflicts locally on their computer can prevent people from inadvertently writing to an upstream repository from a fork.

  1. 在任何页面的右上角,单击
    用于访问站点管理员设置的火箭图标
  2. 在左侧边栏中,单击 Enterprise(企业)
    站点管理设置中的 Enterprise(企业)选项卡
  3. 在企业帐户侧边栏中,单击 Settings(设置)
    企业帐户侧边栏中的“设置”选项卡
  4. 在“ Settings(设置)”下,单击 Options(选项)
    企业帐户设置侧边栏中的 Options(选项)选项卡
  5. Under "Conflict editor for pull requests between repositories", use the drop-down menu, and click Disabled.
    Drop-down menu with option to disable the merge conflict editor

Configuring force pushes

Each repository inherits a default force push setting from the settings of the user account or organization to which it belongs. Likewise, each organization and user account inherits a default force push setting from the force push setting for the entire appliance. If you change the force push setting for the appliance, it will change for all repositories owned by any user or organization.

Blocking all force pushes on your appliance

  1. 在任何页面的右上角,单击
    用于访问站点管理员设置的火箭图标
  2. 在左侧边栏中,单击 Enterprise(企业)
    站点管理设置中的 Enterprise(企业)选项卡
  3. 在企业帐户侧边栏中,单击 Settings(设置)
    企业帐户侧边栏中的“设置”选项卡
  4. 在“ Settings(设置)”下,单击 Options(选项)
    企业帐户设置侧边栏中的 Options(选项)选项卡
  5. Under "Force pushes", use the drop-down menu, and click Allow, Block or Block to the default branch.
    Force pushes dropdown
  6. Optionally, select Enforce on all repositories, which will override organization and repository level settings for force pushes.

Blocking force pushes to a specific repository

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

  1. 登录到 http(s)://HOSTNAME/login 上的 您的 GitHub Enterprise Server 实例。
  2. 在任何页面的右上角,单击
    用于访问站点管理员设置的火箭图标
  3. 在搜索字段中,输入仓库的名称,然后单击 Search(搜索)
    站点管理设置搜索字段
  4. 在搜索结果中,单击仓库名称。
    站点管理设置搜索选项
  5. 在页面的右上角,单击 Admin(管理员)
    管理员工具
  6. 在左侧边栏中,单击 Admin(管理员)
    管理员工具
  7. Select Block or Block to the default branch under Push and Pull.
    Block force pushes

Blocking force pushes to repositories owned by a user account or organization

Repositories inherit force push settings from the user account or organization to which they belong. User accounts and organizations in turn inherit their force push settings from the force push settings for the entire appliance.

You can override the default inherited settings by configuring the settings for a user account or organization.

  1. 登录到 http(s)://HOSTNAME/login 上的 您的 GitHub Enterprise Server 实例。
  2. 在任何页面的右上角,单击
    用于访问站点管理员设置的火箭图标
  3. 在搜索字段中,输入用户或组织的名称,然后单击 Search(搜索)
    站点管理设置搜索字段
  4. 在搜索结果中,单击用户或组织的名称。
    站点管理设置搜索选项
  5. 在页面的右上角,单击 Admin(管理员)
    管理员工具
  6. 在左侧边栏中,单击 Admin(管理员)
    管理员工具
  7. Under "Repository default settings" in the "Force pushes" section, select
    • Block to block force pushes to all branches.
    • Block to the default branch to only block force pushes to the default branch.
      Block force pushes
  8. Optionally, select Enforce on all repositories to override repository-specific settings. Note that this will not override an appliance-wide policy.
    Block force pushes

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. When you or a repository administrator enable this access setting for a repository, unauthenticated Git operations (and anyone with network access to GitHub Enterprise Server) will have read access to the repository without authentication.

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. After you lock a repository's Git read access setting, only a site administrator can change the setting.

要查看启用了匿名 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. Under "Anonymous Git read access", use the drop-down menu, and click Enabled.
    Anonymous Git read access drop-down menu showing menu options "Enabled" and "Disabled"
  6. Optionally, to prevent repository admins from changing anonymous Git read access settings in all repositories on your instance, 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 instance

Setting anonymous Git read access for a specific repository

  1. 在任何页面的右上角,单击
    用于访问站点管理员设置的火箭图标
  2. 在搜索字段中,输入仓库的名称,然后单击 Search(搜索)
    站点管理设置搜索字段
  3. 在搜索结果中,单击仓库名称。
    站点管理设置搜索选项
  4. 在页面的右上角,单击 Admin(管理员)
    管理员工具
  5. 在左侧边栏中,单击 Admin(管理员)
    管理员工具
  6. Under "Danger Zone", next to "Enable Anonymous Git read access", click Enable.
    "Enabled" button under "Enable anonymous Git read access" in danger zone of a repository's site admin settings
  7. Review the changes. To confirm, click Yes, enable anonymous Git read access.
    Confirm anonymous Git read access setting in pop-up window
  8. Optionally, to prevent repository admins from changing this setting for this repository, select Prevent repository admins from changing anonymous Git read access.
    Select checkbox to prevent repository admins from changing anonymous Git read access for this repository

问问别人

找不到要找的内容?

联系我们