Skip to main content

Enforcing repository management policies in your enterprise

You can enforce policies for repository management within your enterprise's organizations, or allow policies to be set in each organization.

Who can use this feature

Enterprise owners can enforce policies for repository management in an enterprise.

About policies for repository management in your enterprise

You can enforce policies to control how members of your enterprise on GitHub Enterprise Server manage repositories. You can also allow organization owners to manage policies for repository management. For more information, see "Creating and managing repositories and "Organizations and teams."

Configuring the default visibility of new repositories

Each time someone creates a new repository within 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 on repository visibility, see "About repositories."

If an enterprise owner 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 "Setting a policy for repository creation."

  1. GitHub Enterprise Server の右上で、ご自分のプロファイル写真をクリックしてから、 [Enterprise 設定] をクリックします。 GitHub Enterprise Server のプロファイル写真のドロップダウン メニューの [自分の Enterprise]

  2. Enterprise サイドバーで、 [ポリシー] をクリックします。 [Enterprise アカウント] サイドバーの [ポリシー] タブ

  3. [ポリシー] で、 [オプション] をクリックします。 [Enterprise アカウント設定] サイドバーの [オプション] タブ

  4. 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 enterprise

警告: pull request や Issue へのコメントに画像添付を追加した場合、匿名化した画像 URL は認証なしに誰もが見ることができます。その pull request がプライベート リポジトリにあっても、またはプライベート モードが有効化されている場合でも関係ありません。 画像への不正アクセスを防ぐには、your GitHub Enterprise Server instanceなど、画像を提供するシステムへのネットワーク アクセスを確実に制限してください。

Enforcing a policy for base repository permissions

Across all organizations owned by your enterprise, you can set a base repository permission level (none, read, write, or admin) for organization members, or allow owners to administer the setting on the organization level.

  1. GitHub Enterprise Server の右上で、ご自分のプロファイル写真をクリックしてから、 [Enterprise 設定] をクリックします。 GitHub Enterprise Server のプロファイル写真のドロップダウン メニューの [自分の Enterprise]
  2. Enterprise サイドバーで、 [ポリシー] をクリックします。 [Enterprise アカウント] サイドバーの [ポリシー] タブ
  3. [ ポリシー] で、 [リポジトリ] をクリックします。 [Enterprise アカウント設定] サイドバーの [リポジトリ] タブ
  4. Under "Base permissions", review the information about changing the setting. 必要に応じて、設定を変更する前にエンタープライズ アカウントのすべての組織の現在の構成を確認するには、 [View your organizations' current configurations](組織の現在の構成の表示) をクリックします。  ビジネス内の組織の現在のポリシー構成を表示するリンク
  5. Under "Base permissions", use the drop-down menu and choose a policy. Drop-down menu with repository permissions policy options

Enforcing a policy for repository creation

Across all organizations owned by your enterprise, you can allow members to create repositories, restrict repository creation to organization owners, or allow owners to administer the setting on the organization level.

If you allow members to create repositories in your organizations, you can choose which types of repositories (public, private, and internal) that members can create.

For more information about internal repositories, see "Creating an internal repository."

Organizationのオーナーは、いつでも任意の種類のリポジトリを作成でき、外部のコラボレータはいかなる種類のリポジトリも作成できません。 詳細については、リポジトリに関する説明を参照してください。

  1. GitHub Enterprise Server の右上で、ご自分のプロファイル写真をクリックしてから、 [Enterprise 設定] をクリックします。 GitHub Enterprise Server のプロファイル写真のドロップダウン メニューの [自分の Enterprise]
  2. Enterprise サイドバーで、 [ポリシー] をクリックします。 [Enterprise アカウント] サイドバーの [ポリシー] タブ
  3. [ ポリシー] で、 [リポジトリ] をクリックします。 [Enterprise アカウント設定] サイドバーの [リポジトリ] タブ
  4. Under "Repository creation", review the information about changing the setting. 必要に応じて、設定を変更する前にエンタープライズ アカウントのすべての組織の現在の構成を確認するには、 [View your organizations' current configurations](組織の現在の構成の表示) をクリックします。  ビジネス内の組織の現在のポリシー構成を表示するリンク
  5. "Repository creation(リポジトリの作成)"の下で、ポリシーを選択してください。 リポジトリ作成ポリシー オプションのドロップダウン メニュー
  6. [メンバーによるリポジトリの作成が可能] を選択した場合は、リポジトリの種類を 1 つ以上選択します。 リポジトリの種類のチェックボックス

Enforcing a policy for forking private or internal repositories

Across all organizations owned by your enterprise, you can allow people with access to a private or internal repository to fork the repository, never allow forking of private or internal repositories, or allow owners to administer the setting on the organization level.

  1. GitHub Enterprise Server の右上で、ご自分のプロファイル写真をクリックしてから、 [Enterprise 設定] をクリックします。 GitHub Enterprise Server のプロファイル写真のドロップダウン メニューの [自分の Enterprise]

  2. Enterprise サイドバーで、 [ポリシー] をクリックします。 [Enterprise アカウント] サイドバーの [ポリシー] タブ

  3. [ ポリシー] で、 [リポジトリ] をクリックします。 [Enterprise アカウント設定] サイドバーの [リポジトリ] タブ

  4. Under "Repository forking", review the information about changing the setting. 必要に応じて、設定を変更する前にエンタープライズ アカウントのすべての組織の現在の構成を確認するには、 [View your organizations' current configurations](組織の現在の構成の表示) をクリックします。  ビジネス内の組織の現在のポリシー構成を表示するリンク

  5. Under "Repository forking", use the drop-down menu and choose a policy.

    Drop-down menu with repository forking policy options

Enforcing a policy for inviting collaborators to repositories

Across all organizations owned by your enterprise, you can allow members to invite collaborators to repositories, restrict invitations to organization owners, or allow organization owners to administer the setting on the organization level.

  1. GitHub Enterprise Server の右上で、ご自分のプロファイル写真をクリックしてから、 [Enterprise 設定] をクリックします。 GitHub Enterprise Server のプロファイル写真のドロップダウン メニューの [自分の Enterprise]

  2. Enterprise サイドバーで、 [ポリシー] をクリックします。 [Enterprise アカウント] サイドバーの [ポリシー] タブ

  3. [ ポリシー] で、 [リポジトリ] をクリックします。 [Enterprise アカウント設定] サイドバーの [リポジトリ] タブ

  4. Under "Repository invitations", review the information about changing the setting. 必要に応じて、設定を変更する前にエンタープライズ アカウントのすべての組織の現在の構成を確認するには、 [View your organizations' current configurations](組織の現在の構成の表示) をクリックします。  ビジネス内の組織の現在のポリシー構成を表示するリンク

  5. Under "Repository invitations", use the drop-down menu and choose a policy.

    Drop-down menu with invitation policy options

Enforcing a policy for the default branch name

Across all organizations owned by your enterprise, you can set the default branch name for any new repositories that members create. You can choose to enforce that default branch name across all organizations or allow individual organizations to set a different one.

  1. GitHub Enterprise Server の右上で、ご自分のプロファイル写真をクリックしてから、 [Enterprise 設定] をクリックします。 GitHub Enterprise Server のプロファイル写真のドロップダウン メニューの [自分の Enterprise]
  2. Enterprise サイドバーで、 [ポリシー] をクリックします。 [Enterprise アカウント] サイドバーの [ポリシー] タブ
  3. On the Repository policies tab, under "Default branch name", enter the default branch name that new repositories should use. Text box for entering default branch name
  4. Optionally, to enforce the default branch name for all organizations in the enterprise, select Enforce across this enterprise. Enforcement checkbox
  5. Click Update. Update button

Enforcing a policy for changes to repository visibility

Across all organizations owned by your enterprise, you can allow members with admin access to change a repository's visibility, restrict repository visibility changes to organization owners, or allow owners to administer the setting on the organization level. When you prevent members from changing repository visibility, only enterprise owners can change the visibility of a repository.

If an enterprise owner has restricted repository creation to organization owners only, then members will not be able to change repository visibility. If an enterprise owner has restricted member repository creation to private repositories only, then members will only be able to change the visibility of a repository to private. For more information, see "Setting a policy for repository creation."

  1. GitHub Enterprise Server の右上で、ご自分のプロファイル写真をクリックしてから、 [Enterprise 設定] をクリックします。 GitHub Enterprise Server のプロファイル写真のドロップダウン メニューの [自分の Enterprise]
  2. Enterprise サイドバーで、 [ポリシー] をクリックします。 [Enterprise アカウント] サイドバーの [ポリシー] タブ
  3. [ ポリシー] で、 [リポジトリ] をクリックします。 [Enterprise アカウント設定] サイドバーの [リポジトリ] タブ
  4. Under "Repository visibility change", review the information about changing the setting. 必要に応じて、設定を変更する前にエンタープライズ アカウントのすべての組織の現在の構成を確認するには、 [View your organizations' current configurations](組織の現在の構成の表示) をクリックします。  ビジネス内の組織の現在のポリシー構成を表示するリンク
  5. Under "Repository visibility change", use the drop-down menu and choose a policy. Drop-down menu with repository visibility policy options

Enforcing a policy for repository deletion and transfer

Across all organizations owned by your enterprise, you can allow members with admin permissions to delete or transfer a repository, restrict repository deletion and transfers to organization owners, or allow owners to administer the setting on the organization level.

  1. GitHub Enterprise Server の右上で、ご自分のプロファイル写真をクリックしてから、 [Enterprise 設定] をクリックします。 GitHub Enterprise Server のプロファイル写真のドロップダウン メニューの [自分の Enterprise]

  2. Enterprise サイドバーで、 [ポリシー] をクリックします。 [Enterprise アカウント] サイドバーの [ポリシー] タブ

  3. [ ポリシー] で、 [リポジトリ] をクリックします。 [Enterprise アカウント設定] サイドバーの [リポジトリ] タブ

  4. Under "Repository deletion and transfer", review the information about changing the setting. 必要に応じて、設定を変更する前にエンタープライズ アカウントのすべての組織の現在の構成を確認するには、 [View your organizations' current configurations](組織の現在の構成の表示) をクリックします。  ビジネス内の組織の現在のポリシー構成を表示するリンク

  5. "Repository deletion and transfer(リポジトリの削除と移譲)"の下で、ドロップダウンメニューを使ってポリシーを選択してください。 リポジトリの削除ポリシーのオプションがあるドロップダウン メニュー

Enforcing a policy for deleting issues

Across all organizations owned by your enterprise, you can allow members with admin access to delete issues in a repository, restrict issue deletion to organization owners, or allow owners to administer the setting on the organization level.

  1. GitHub Enterprise Server の右上で、ご自分のプロファイル写真をクリックしてから、 [Enterprise 設定] をクリックします。 GitHub Enterprise Server のプロファイル写真のドロップダウン メニューの [自分の Enterprise]

  2. Enterprise サイドバーで、 [ポリシー] をクリックします。 [Enterprise アカウント] サイドバーの [ポリシー] タブ

  3. On the Repository policies tab, under "Repository issue deletion", review the information about changing the setting. 必要に応じて、設定を変更する前にエンタープライズ アカウントのすべての組織の現在の構成を確認するには、 [View your organizations' current configurations](組織の現在の構成の表示) をクリックします。  ビジネス内の組織の現在のポリシー構成を表示するリンク

  4. Under "Repository issue deletion", use the drop-down menu and choose a policy.

    Drop-down menu with issue deletion policy options

Enforcing 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 in your enterprise.

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

  1. GitHub Enterprise Server の右上で、ご自分のプロファイル写真をクリックしてから、 [Enterprise 設定] をクリックします。 GitHub Enterprise Server のプロファイル写真のドロップダウン メニューの [自分の Enterprise]
  2. Enterprise サイドバーで、 [ポリシー] をクリックします。 [Enterprise アカウント] サイドバーの [ポリシー] タブ
  3. [ポリシー] で、 [オプション] をクリックします。 [Enterprise アカウント設定] サイドバーの [オプション] タブ
  4. Under "Repository upload limit", use the drop-down menu and click a maximum object size. Drop-down menu with maximum object size options
  5. Optionally, to enforce a maximum upload limit for all repositories in your enterprise, 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. GitHub Enterprise Server の右上で、ご自分のプロファイル写真をクリックしてから、 [Enterprise 設定] をクリックします。 GitHub Enterprise Server のプロファイル写真のドロップダウン メニューの [自分の Enterprise]

  2. Enterprise サイドバーで、 [ポリシー] をクリックします。 [Enterprise アカウント] サイドバーの [ポリシー] タブ

  3. [ポリシー] で、 [オプション] をクリックします。 [Enterprise アカウント設定] サイドバーの [オプション] タブ

  4. 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 that owns the repository. 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, the policy applies to all repositories owned by any user or organization.

Blocking force pushes to all repositories

  1. GitHub Enterprise Server の右上で、ご自分のプロファイル写真をクリックしてから、 [Enterprise 設定] をクリックします。 GitHub Enterprise Server のプロファイル写真のドロップダウン メニューの [自分の Enterprise]
  2. Enterprise サイドバーで、 [ポリシー] をクリックします。 [Enterprise アカウント] サイドバーの [ポリシー] タブ
  3. [ポリシー] で、 [オプション] をクリックします。 [Enterprise アカウント設定] サイドバーの [オプション] タブ
  4. Under "Force pushes", use the drop-down menu, and click Allow, Block or Block to the default branch. Force pushes dropdown
  5. 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 で your GitHub Enterprise Server instance にサインインします。

  2. GitHub Enterprise Server の管理アカウントから、任意のページの右上隅の をクリックします。

    サイト管理者設定にアクセスするための宇宙船アイコンのスクリーンショット

  3. [サイト管理者] ページにまだ表示されていない場合は、左上隅の [サイト管理者] をクリックします。

    [サイト管理者] リンクのスクリーンショット

  4. 検索フィールドにリポジトリの名前を入力し、 [検索] をクリックします。 サイト管理者設定の検索フィールド

  5. 検索結果で、リポジトリ名をクリックしてください。 サイト管理者設定の検索オプション

  6. ページの右上隅にある [管理者] をクリックします。管理ツール

  7. 左側のサイドバーで、 [管理者] をクリックします。管理ツール

  8. 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 enterprise.

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

  1. http(s)://HOSTNAME/login で your GitHub Enterprise Server instance にサインインします。

  2. GitHub Enterprise Server の管理アカウントから、任意のページの右上隅の をクリックします。

    サイト管理者設定にアクセスするための宇宙船アイコンのスクリーンショット

  3. [サイト管理者] ページにまだ表示されていない場合は、左上隅の [サイト管理者] をクリックします。

    [サイト管理者] リンクのスクリーンショット

  4. 検索フィールドに、ユーザーまたは組織の名前を入力し、 [検索] をクリックします。 サイト管理者設定の検索フィールド

  5. 検索結果で、ユーザもしくはOrganizationの名前をクリックしてください。 サイト管理者設定の検索オプション

  6. ページの右上隅にある [管理者] をクリックします。管理ツール

  7. 左側のサイドバーで、 [管理者] をクリックします。管理ツール

  8. 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
  9. Optionally, select Enforce on all repositories to override repository-specific settings. Note that this will not override an enterprise-wide policy. Block force pushes

Configuring anonymous Git read access

警告:

  • Git プロトコルは認証されておらず、暗号化されていません。 攻撃者は、このプロトコルを使用した接続を介して転送されたリポジトリ データをインターセプトする可能性があります。
  • 匿名 Git 読み取りアクセスを有効にする場合、この機能のすべてのアクセスと利用に責任を負うことになります。 GitHub は、この機能のあらゆる意図しないアクセス、セキュリティ リスク、悪用に対して責任を負いません。
  • your GitHub Enterprise Server instance のユーザー ライセンス数の制限を含め、GitHub から購入したライセンスに違反するためにこの機能を使うことはできません。

If you have enabled private mode for your GitHub Enterprise Server 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 enterprise. 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.

Anonymous Git read access is disabled by default. When you upgrade to GitHub Enterprise Server 3.6 or later, anonymous Git read access is automatically disabled at the application level, and git:// connections on port 9418 will return the following error.

The unauthenticated git protocol on port 9418 is no longer supported.

Anonymous Git read access will be entirely removed in a future release of GitHub Enterprise Server. GitHub recommends using SSH instead of the Git protocol. For more information about this change, see the GitHub Blog.

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. 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. GitHub Enterprise Server の右上で、ご自分のプロファイル写真をクリックしてから、 [Enterprise 設定] をクリックします。 GitHub Enterprise Server のプロファイル写真のドロップダウン メニューの [自分の Enterprise]

  2. Enterprise サイドバーで、 [ポリシー] をクリックします。 [Enterprise アカウント] サイドバーの [ポリシー] タブ

  3. [ポリシー] で、 [オプション] をクリックします。 [Enterprise アカウント設定] サイドバーの [オプション] タブ

  4. 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"

  5. 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

Setting anonymous Git read access for a specific repository

  1. GitHub Enterprise Server の管理アカウントから、任意のページの右上隅の をクリックします。

    サイト管理者設定にアクセスするための宇宙船アイコンのスクリーンショット

  2. [サイト管理者] ページにまだ表示されていない場合は、左上隅の [サイト管理者] をクリックします。

    [サイト管理者] リンクのスクリーンショット

  3. 検索フィールドにリポジトリの名前を入力し、 [検索] をクリックします。 サイト管理者設定の検索フィールド

  4. 検索結果で、リポジトリ名をクリックしてください。 サイト管理者設定の検索オプション

  5. ページの右上隅にある [管理者] をクリックします。管理ツール

  6. 左側のサイドバーで、 [管理者] をクリックします。管理ツール

  7. 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

  8. Review the changes. To confirm, click Yes, enable anonymous Git read access. Confirm anonymous Git read access setting in pop-up window

  9. 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