次の方法で共有


Git リポジトリの設定とポリシーを設定する

Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022

ヒント

この記事の後半でAI を使用してこのタスクに役立てる方法をご説明します。または、Azure DevOps MCP Server で AI サポートを有効にする方法を参照して作業を開始できます。

ブランチとリポジトリの設定とポリシーを使用して、Azure Repos Git リポジトリをカスタマイズする方法はいくつかあります。 この記事では、リポジトリ レベルの設定とポリシーについて説明します。

  • リポジトリの設定とポリシーによって、プロジェクトまたは組織のすべての Git リポジトリ、あるいは個々のリポジトリのグローバル オプションが構成されます。

    この記事では、サーバー側リポジトリの設定とポリシーについて説明します。 クライアント側の Git の基本設定について詳しくは、Visual Studio での Git の基本設定と設定に関する記事を参照してください。

  • ブランチ ポリシーは、ブランチ固有の制御に対応します。

    ブランチ ポリシーには、変更をブランチにマージする前に、pull request、ビルドの成功、またはコードのレビューを必須とするなどのオプションが含まれます。 詳細については、ブランチのポリシーと設定に関する記事を参照してください。

  • リポジトリとブランチのセキュリティ アクセス許可により、ユーザーの割り当てが制御されます。

    これらのアクセス許可により、pull request の読み取り、書き込み、pull request への参加、およびその他の特定のアクションを実行できるユーザーが制御されます。 詳細については、リポジトリのアクセス許可の設定に関する記事を参照してください。

すべてのリポジトリおよびブランチの設定とポリシーの概要

プロジェクトのすべてのリポジトリ、個々のリポジトリ、リポジトリのブランチに対して設定とポリシーを構成できます。 ブラウザーで、[プロジェクトの設定]>[リポジトリ] を使用して、これらのすべての設定とポリシーを構成します。

注意

az repos policy を使用して、Azure CLI で複数のブランチ設定とポリシーを設定できます。

次の表に、Git リポジトリとブランチに対して有効にして構成できる設定とポリシーをまとめます。

すべてのリポジトリの設定

次の表に、プロジェクトまたは組織のすべての新しい Git リポジトリに対して有効にして構成できる設定をまとめます。

設定

デフォルト

説明


オフ

指定した既定のブランチ名で新しいリポジトリを初期化します。 特定のリポジトリの既定のブランチはいつでも変更できます。 この機能を有効にしない場合、リポジトリは main という名前の既定のブランチを使用して初期化されます。

オン

新しいすべてのリポジトリで作成されたブランチのアクセス許可をユーザーが管理できるようにします。

リポジトリ設定

次の表は、個々の Git リポジトリごとに有効または構成できる設定をまとめたものです。

設定

デフォルト

説明


オン

ユーザーがリポジトリからフォークを作成できるようにします。

オン

コミット コメント内でメンションされた作業項目のリンクを自動的に作成します。

オン

コミットコメント内でメンションを使用して作業項目を閉じることができるようにします。 Azure DevOps Server 2020.1 更新プログラム以降のバージョンが必要です。

オン

pull request で作業項目を完了するためのユーザー設定を記憶します。

オン

ユーザーが作成したブランチのアクセス許可を管理できるようにします。

オン

リポジトリの [Strict Vote Mode] (厳密な投票モード) を有効にします。これにより、pull request で投票するために投稿アクセス許可が必須となります。

オン

リポジトリへのアクセス (ビルド、pull request を含む) を無効にします。ただし、リポジトリは検出可能な状態が維持され、警告が表示されます。

オン

コード検索に参加するブランチをさらに最大 5 つ指定します。既定では、既定のブランチにのみ適用されます。 Code Search 拡張機能がインストールされ、有効化されている必要があります。

オン

PR 完了時に生成されたコミットのコミット メッセージ タイトルに pull request ID を含めます。 無効にすると、PR 完了コミット メッセージに PR ID プレフィックスは含まれません。

リポジトリのポリシーまたはオプション

次の表は、すべてのリポジトリまたは個々のリポジトリに対して設定できるポリシーまたはオプションをまとめたものです。 [すべてのリポジトリ] に設定したポリシーによって、後日追加した個々のリポジトリの既定値が設定されます。

ポリシーまたはオプション

デフォルト

説明


オフ

指定したパターンに一致しないコミット作成者の電子メールを含むプッシュをブロックします。 この設定には、Azure DevOps Server 2020.1 以降のバージョンが必要です。

オフ

指定したパターンに一致するファイル パスを導入するプッシュをブロックします。 この設定には、Azure DevOps Server 2020.1 以降のバージョンが必要です。

オフ

ファイル、フォルダー、ブランチ、タグの名前の大文字小文字を変更するプッシュ操作をブロックすることで、大文字小文字の区別による競合を回避します。

オフ

プラットフォームの予約済みの名前または互換性のない文字を含むファイル名、フォルダー名、またはブランチ名を導入するプッシュをブロックします。

オフ

指定した長さを超えるパスを導入するプッシュをブロックします。

オフ

選択した制限を上回るサイズの新規ファイルまたは更新ファイルが含まれるプッシュをブロックします。

ブランチ ポリシー

次の表は、ブランチをカスタマイズするために定義できるポリシーをまとめたものです。 これらの設定の構成について詳しくは、「ブランチ ポリシーを使用してコードの品質を改善する」を参照してください。 ブランチにポリシーを設定すると、次のポリシーが自動的に適用されます。

  • ブランチを更新するには、pull request が必須となります。
  • ブランチを削除できなくなります。

注意

ブランチ ポリシーは、プル要求のターゲット ブランチに基づいてプル要求に適用されます。 プル要求を行った後に削除する予定の一時ブランチにブランチ ポリシーを設定しないでください。 ブランチ ポリシーを一時ブランチに追加すると、ブランチの自動削除が失敗します。

ポリシー

デフォルト

説明


オフ

pull request 時に、指定した人数のレビュー担当者からの承認を必須とします。

オフ

pull request 時に、リンクされた作業項目を確認して、追跡可能性を強化します。

オフ

pull request ですべてのコメントが解決されたことを確認します。

オフ

プル要求が完了したときに使用可能な種類のマージを制限して、ブランチ履歴を制御します。

オフ

1 つ以上のポリシーを追加、有効、または無効にして、pull request の変更を事前にマージしてビルドすることでコードを検証します。

オフ

1 つ以上のポリシーを追加、有効、または無効にして、完了したプル要求に成功した状態を他のサービスに投稿するよう要求します。

オフ

1 つ以上のポリシーを追加、有効化、または無効化して、pull request がコードの特定の領域を変更する際に、自動的にコードレビュアーを含めるように設定します。

前提条件

カテゴリ Requirements
プロジェクトへのアクセス権 プロジェクトのメンバー。
アクセス許可 - プライベート プロジェクトのコードを表示する: 少なくとも Basic アクセス。
- プライベート プロジェクトのコードを複製または投稿する: 共同作成者セキュリティ グループのメンバー、またはプロジェクト内の対応するアクセス許可。
- ブランチまたはリポジトリのアクセス許可を設定する: 管理アクセス許可 は、ブランチまたはリポジトリのアクセス許可です。
- 既定のブランチを変更する: 編集ポリシー はリポジトリのアクセス許可です。
- リポジトリをインポートする: プロジェクト管理者 セキュリティ グループのメンバーまたは Git プロジェクト レベルの [リポジトリ の作成 ] アクセス許可が [許可] に設定されています。 詳細については、「Git リポジトリのアクセス許可を設定する」を参照してください。
サービス リポジトリが有効になっています
ツール Optional. az reposコマンドを使用する: Azure DevOps CLI

注意

パブリック プロジェクトでは、 利害関係者 アクセス権を持つユーザーは、コードの表示、複製、投稿など、Azure Repos へのフル アクセス権を持ちます。

カテゴリ Requirements
プロジェクトへのアクセス権 プロジェクトのメンバー。
アクセス許可 - コードの表示: 基本 アクセスが最低限必要です。
- コードの複製または投稿: 共同作成者 セキュリティ グループのメンバー、またはプロジェクト内の対応するアクセス許可。
サービス リポジトリが有効になっています

設定とポリシーを表示して編集する

組織またはプロジェクトのすべてのリポジトリ、あるいは個々のリポジトリの "設定" を構成できます。 すべてのリポジトリ、個々のリポジトリ、またはリポジトリの指定したブランチに対して "ポリシー" を構成できます。 ブランチ ポリシーの設定について詳しくは、「ブランチ ポリシー」を参照してください。

注意

リポジトリの設定は、プロジェクト レベルと個々のリポジトリの両方で構成するのではなく、これらのどちらか一方で構成することをお勧めします。 複数のレベルで設定を構成した場合、システムは最も制限が厳しい設定を優先します。 1 つのレベルだけで設定を構成すると、混乱せずに済みますし、Git のパフォーマンスの問題も軽減されます。

Web ポータルを使用してリポジトリの設定とポリシーを構成するには、Web ブラウザーから [プロジェクトの設定]>[リポジトリ] を開きます。

  1. すべての Git リポジトリの設定またはポリシーを表示または変更するには、[ すべてのリポジトリ ] ページを開き、[ 設定 ] タブまたは [ポリシー ] タブを選択します。

    すべてのリポジトリのリポジトリ設定を示すスクリーンショット

    特定のリポジトリの設定とポリシーを構成するには、[ リポジトリ ] タブを選択し、リポジトリを選択して、[ 設定] タブまたは [ポリシー] タブ 選択します。

    Fabrikam リポジトリのリポジトリ設定を示すスクリーンショット。

  2. [ 設定] タブでは、すべての Git リポジトリまたは個々のリポジトリの設定を定義できます。

    リポジトリ プロジェクトの [設定] タブが選択されていることを示すスクリーンショット。

  3. [ ポリシー ] タブでは、すべての Git リポジトリまたは個々のリポジトリのポリシーを定義できます。

    [リポジトリ ポリシー] タブが選択されていることを示すスクリーンショット。

既定のブランチ名

既定のリポジトリ ブランチ名は、組織レベルまたはプロジェクト レベルで設定できます。 組織レベルの設定は、組織のすべてのプロジェクトのすべての新しいリポジトリに対して有効になります。 プロジェクト レベルの設定は、プロジェクト内のすべての新しいリポジトリに影響し、組織レベルで設定された名前よりも優先されます。

次の操作を行います。

  • リポジトリの初期化時に使用する有効なブランチ名を選択できます。
  • 既定の名前はいつでも変更でき、将来のすべてのリポジトリに反映させることができます。
  • 特定のリポジトリの既定のブランチ名はいつでも変更できます。

既定のブランチ名機能を有効にしない場合、リポジトリは、Azure Repos の既定のブランチ名 main で初期化されます。

組織レベルで既定のブランチ名を設定するには:

  1. Azure DevOps 組織ページで、左下にある [組織の設定 ] を選択し、サイドバーで [ リポジトリ] を選択します。

  2. [すべてのリポジトリ] ページで、[Default branch name for new repositories] (新しいリポジトリの既定のブランチ名)[オン] に設定し、既定のブランチ名を入力します。

    新しいリポジトリの既定ブランチ名の組織レベル設定を示すスクリーンショット。

プロジェクト レベルで既定のブランチ名を設定するには:

  1. Azure DevOps プロジェクト ページで、左下にある [プロジェクトの設定 ] を選択し、サイドバーで [ リポジトリ] を選択します。

  2. [ すべてのリポジトリ ] ページの [設定] タブで、 新しいリポジトリの既定のブランチ名[オン] に設定し、既定のブランチ名を入力します。

    新しいリポジトリの既定ブランチ名のプロジェクト レベル設定を示すスクリーンショット。

ブランチ権限管理

すべての Git リポジトリまたは個々のリポジトリのアクセス許可管理設定を設定することで、リポジトリ ブランチのアクセス許可を管理できるユーザーを制御できます。 [すべてのリポジトリ] レベルで [作成されたブランチのアクセス許可の管理をユーザーに許可する] 設定を有効にすると、ユーザーが作成されたブランチのアクセス許可を管理できるように、新しいすべてのプロジェクト リポジトリが構成されます。

この設定を管理するには:

  1. Azure DevOps プロジェクト ページで、左下にある [プロジェクトの設定 ] を選択し、サイドバーで [ リポジトリ] を選択します。

  2. [ すべてのリポジトリ ] ページの [設定] タブで、[ 作成したブランチのアクセス許可の管理をユーザーに許可 する ] を [オン ] または [オフ] に設定します。

    プロジェクト レベルの設定を示すスクリーンショット。ユーザーが作成したブランチのアクセス許可を管理することを許可します。

個々のリポジトリに対してこの設定を有効または無効にするには:

  1. [プロジェクトの設定]>[リポジトリ] を選択し、リポジトリを選択します。

  2. [<Repository 名>ページの [設定] タブで、[アクセス許可の管理] を [オン] または [オフ] に設定します。

    リポジトリの [アクセス許可の管理] 設定を示すスクリーンショット。

Gravatar イメージ

この設定は、企業外のユーザーに対する Gravatar イメージの使用を有効または無効にします。

[Gravatar イメージ] は組織レベルの設定です。

  1. Azure DevOps 組織ページで、左下にある [組織の設定 ] を選択し、サイドバーで [ リポジトリ] を選択します。

  2. [すべてのリポジトリ] ページで、[Gravatar イメージ][オン] または [オフ] に設定します。

    Gravatar イメージの組織レベルの設定を示すスクリーンショット。

[Gravatar イメージ] は、[すべてのリポジトリ] のプロジェクト レベルの設定です。

  1. Azure DevOps プロジェクト ページで、左下にある [プロジェクトの設定 ] を選択し、サイドバーで [ リポジトリ] を選択します。
  2. [ すべてのリポジトリ ] ページの [設定] タブで、 Gravatar イメージ[オン ] または [オフ] に設定します。

フォークを有効にする

このリポジトリ設定は、ユーザーが新しいサーバー側フォークを作成できるかどうかを制御します。 この設定を無効にしても、既存のフォークは削除されません。

  1. [プロジェクト設定] のサイドバーで、[リポジトリ] を選択します。

  2. [ すべてのリポジトリ ] ページの [ リポジトリ ] タブで、リポジトリを選択します。

  3. [<Repository 名>ページの [設定] タブで、[フォーク] を [オン] または [オフ] に設定します。

    リポジトリの [フォーク] 設定を示すスクリーンショット。

作業項目リンクの設定

これらのリポジトリ設定は、作業項目リンクを管理します。

  1. [プロジェクトの設定]>[リポジトリ] を選択し、リポジトリを選択します。

  2. <Repository 名>ページの [設定] タブで、設定を [オン] または [オフ] にします。

    リポジトリの作業項目リンク設定を示すスクリーンショット。

リンクのメンションをコミットする

有効にすると、 # を含むコミット メッセージの後に有効な作業項目 ID が続き、その作業項目にコミットが自動的にリンクされます。 リポジトリで以前に別のアカウントまたはサービスが使用されていた場合、この設定を無効にします。 これらのリポジトリでは、現在のアカウントの作業項目 ID と一致しない # メンションを含むコミット メッセージが存在する可能性があります。

作業項目の解決のメンションをコミットする

リンクされた pull request が完了したときに作業項目を自動的に完了するには、この設定を有効にします。 この設定では、pull request コミット メッセージで他の作業項目の遷移状態を指定することもできます。 詳細については、「 pull request を使用した作業項目のオートコンプリート」を参照してください。

作業項目の遷移設定

既定では、pull request の完了時にリンクされた作業項目を完了するオプションでは、各ユーザーの最後の選択が記憶されます。 ユーザーが pull request を使用して作業項目を完了することを推奨していないチームでは、この設定を無効にできます。 その後、ユーザーは pull request を完了するたびに作業項目を完了するようにオプトインする必要があります。

厳密な投票モードの設定

特定の状況では、リポジトリの共同作成者ではないユーザーが pull request を送信し、ポリシーに応じてそれがマージされる可能性があります。 この可能性をなくすには、[Strict Vote Mode] (厳密な投票モード) を有効にして、リポジトリの pull request を投票するために必要なアクセス許可を [Contribute] (投稿) に変更します。 Azure Repos のユーザー フォークに依存している場合は、この設定を有効にすることをお勧めします。

  1. [プロジェクトの設定]>[リポジトリ] を選択し、リポジトリを選択します。

  2. [<Repository 名> ページの [設定] タブで、[厳密な投票モード] を [オン] または [オフ] に設定します。

    リポジトリの [Strict Vote Mode] (厳密な投票モード) 設定を示すスクリーンショット。

リポジトリ設定の無効化

この設定を有効にすると、リポジトリへのアクセス (ビルドと pull request を含む) は無効になりますが、リポジトリは検出可能な状態が維持され、警告が表示されます。

  1. [プロジェクトの設定]>[リポジトリ] を選択し、リポジトリを選択します。

  2. [<Repository 名> ページの [設定] タブの [リポジトリの無効化] で、[リポジトリの無効化] を [オン] または [オフ] に設定します。

    [リポジトリの無効化] 設定を示すスクリーンショット。

コミット メッセージ設定に PR ID を含める

このリポジトリ設定では、マージ、スカッシュ、リベースなどの PR 完了アクション中に生成されたコミットのコミット メッセージ タイトルに pull request (PR) ID を自動的に含めるかどうかを制御します。

既定では、この設定は既存の動作を保持するために有効になっています。 有効にすると、PR 完了時に生成されたコミット メッセージは、コミット メッセージ タイトルにプレフィックスとして PR ID を含めます。 無効にすると、PR 完了コミット メッセージから PR ID プレフィックスが省略されます。

注意

この設定は、PR の完了時に生成されたコミットにのみ適用されます。 手動コミットには影響しません。 この設定は、設定を変更した後に作成されたコミットにのみ影響します。

コミット メッセージの PR ID を有効または無効にするには:

  1. [プロジェクトの設定]>[リポジトリ] を選択し、リポジトリを選択します。
  2. [<リポジトリ名> ページの [設定] タブで、デフォルトで完了コミットメッセージのタイトルにPR IDを含めるようにする設定を、 [オン] または [オフ]に切り替えます。

[検索可能なブランチ] 設定

既定では、ファイル内のコード検索は既定のブランチにのみ適用されます。 検索するブランチを最大 5 つ追加できます。

重要

リポジトリ内のコードを検索するには、Marketplace の Code Search 拡張機能をインストールする必要があります。 リポジトリの [設定] タブに検索可能ブランチが表示されない場合は、拡張機能がインストールされていることを確認してください。

コード検索するブランチを追加するには:

  1. [プロジェクトの設定]>[リポジトリ] を選択し、リポジトリを選択します。

  2. [<Repository 名> ページの [設定] タブの [検索可能なブランチ] で、プラス記号+を選択します。

  3. 検索に含めるブランチを選択し、[ブランチの追加] を選択します。

    リポジトリの [検索可能なブランチ] 設定を示すスクリーンショット。

リポジトリ間のブランチポリシー

プロジェクトのすべてのリポジトリにわたって、特定のブランチ名または既定のブランチに対してポリシーを設定できます。 たとえば、すべてのプロジェクト リポジトリのすべての main ブランチのすべての pull request に対して、最低 2 名のレビュー担当者を必須にすることができます。

プロジェクト全体で特定のブランチ名または既定のブランチ名を保護するポリシーを設定するには:

  1. [プロジェクト設定] のサイドバーで、[リポジトリ] を選択します。

  2. [すべてのリポジトリ] ページで、[ポリシー] タブを選択します。

  3. ページの下部にある ブランチ ポリシー で、プラス記号 +を選択します。

  4. [ ブランチ保護の追加 ] 画面で、[ 各リポジトリの既定のブランチを保護 する] または [指定したパターンに一致する現在および将来のブランチを保護する] を選択します。

    2 番目のオプションを選択した場合は、保護するブランチの名前を入力します。 情報メッセージにより、影響を受ける現在のブランチの数を確認できます。 ブランチ名 (または入力したパターン) では 大文字小文字が区別されることに注意してください。 ブランチ名を保護するために、ブランチがまだ存在していなくてもかまいません。

  5. [作成] を選択します

    リポジトリ間ブランチ ポリシーの有効化を示すスクリーンショット。

  6. < ブランチ名のクロスリポジトリ ポリシー>ページで、保護されたブランチに必要なポリシーを設定します。 ブランチ ポリシーについて詳しくは、「ブランチ ポリシー」を参照してください。

    リポジトリ間ブランチ ポリシーの設定を示すスクリーンショット。

コミット作成者の電子メールの検証ポリシー

このポリシーでは、コミット作成者の電子メール アドレスがパターンと一致しない場合に、そのコミット作成者によるリポジトリへのコミットがブロックされます。

  1. [プロジェクトの設定]>[リポジトリ] を選択し、リポジトリを選択します (そのリポジトリのみ構成する場合)。

  2. [すべてのリポジトリ] または [<Repository 名> ページの [ポリシー] タブの [リポジトリ ポリシー] で、[作成者の電子メール検証のコミット] を [オン] または [オフ] に設定します。

  3. このポリシーを有効にする場合、マッチングさせる 1 つ以上の電子メール アドレスを指定します。

    具体的な電子メール アドレスを指定することも、ワイルドカードを使用することもできます。 複数の電子メール パターンの区切り記号として ; を使用します。 先頭に ! が付加された電子メール パターンは除外されます。 順序が重要です。

    コミット作成者の電子メールの検証ポリシーの設定を示すスクリーンショット。

ファイル パスの検証ポリシー

パターンに一致するファイル パスからリポジトリーにコミットするのを禁止するポリシーを設定できます。

  1. [プロジェクトの設定]>[リポジトリ] を選択し、リポジトリを選択します (そのリポジトリのみ構成する場合)。

  2. [すべてのリポジトリ] または [<Repository 名> ページの [ポリシー] タブの [リポジトリ ポリシー] で、[ファイル パスの検証] を [オン] または [オフ] に設定します。

  3. このポリシーを有効にする場合、ブロックする 1 つ以上のパスを指定します。

    具体的なパスとワイルドカードを指定できます。 具体的なパスは / で始めます。 ; を区切り記号として使用して複数のパスも指定できます。 先頭に ! が付加されたパスは除外されます。 順序が重要です。

    ファイル パスの検証ポリシーの設定を示すスクリーンショット。

大文字と小文字の区別の強制ポリシー

Git では大文字と小文字が区別されます。つまり、Foo.txtというファイルはfoo.txtというファイルとは異なります。 ただし、Windows と macOS ではデフォルトで大文字と小文字を区別しないファイルシステムが使用されているため、Foo.txtfoo.txt は同じ名前になります。 この不一致により、大文字と小文字が区別されないシステムのユーザーが、大文字と小文字のみが異なるファイル、フォルダー、ブランチ、またはタグをプッシュすると、問題が発生する可能性があります。 詳細については、「 Git クロスプラットフォームの互換性」を参照してください。

ほとんどの共同作成者が Windows または macOS を使用している場合、[大文字と小文字の区別の強制] ポリシーを有効にすることをお勧めします。 サーバーの既定モードを切り替えることにより、大文字と小文字を区別する元のモードでは、File.txtfile.txt が異なるファイルと認識されますが、Windows や macOS 互換のモードでは、File.txtfile.txt は同じファイルとして扱われます。 この設定は、ファイル、フォルダー、ブランチ、タグに適用されます。

この設定により、共同作成者は大文字と小文字の違いのみを導入できなくなります。 この設定により、ファイル、フォルダー、ブランチ、タグの名前の大文字と小文字を変更するプッシュがブロックされ、大文字と小文字の区別による競合が回避されます。 ユーザーは、問題を解決するために、プッシュされていない履歴を書き換えてから、もう一度プッシュを試す必要があります。

この設定では、ケースによってのみ異なるオブジェクトが既に含まれているリポジトリは修正されません。 ポリシーを有効にする前に、このような問題を解決することをお勧めします。 ファイルとフォルダーの名前を変更するか、ブランチタグ を競合しない名前で再作成してください。

ケース適用ポリシーを設定するには:

  1. [プロジェクトの設定]>[リポジトリ] を選択し、リポジトリを選択します (そのリポジトリのみ構成する場合)。

  2. [すべてのリポジトリ] または [<Repository 名> ページの [ポリシー] タブの [リポジトリ ポリシー] で、[ケースの適用] を [オン] または [オフ] に設定します。

    ケース強制ポリシー設定を示すスクリーンショット。

保留名の方針

Windows、macOS、Linux という 3 つの主要な OS ファイル システムでは、すべてのファイル名が許可されるわけではありません。 共有リポジトリへのコミットには、1 つ以上のプラットフォームで無効なファイル名またはフォルダー名が含まれる可能性があります。 これらのプラットフォームで無効なファイルまたはフォルダーがフェッチされてチェックアウトされると、作業ディレクトリが破損する可能性があります。 詳細については、「 Git クロスプラットフォームの互換性」を参照してください。

ポリシーを有効または無効にして、ファイル名とフォルダー名に制限を設定できます。 予約名の設定ブロックは、すべてのプラットフォームで無効なファイル名またはフォルダー名を含むリポジトリにプッシュします。 無効な名前を確認するには、 Git クロスプラットフォームの互換性に関する説明を参照してください。

予約名ポリシーを設定するには:

  1. [プロジェクトの設定]>[リポジトリ] を選択し、リポジトリを選択します (そのリポジトリのみ構成する場合)。

  2. [すべてのリポジトリ] または [<Repository 名> ページの [ポリシー] タブの [リポジトリ ポリシー] で、[予約済み名] を [オン] または [オフ] に設定します。

    予約された名前ポリシーの設定を示すスクリーンショット。

パスの最大長ポリシー

Windows、macOS、Linux という 3 つの主要な OS ファイル システムでは、すべてのパス長が許可されるわけではありません。 共有リポジトリへのコミットには、1 つ以上のプラットフォームで無効なパス長を持つファイルまたはディレクトリが含まれる可能性があります。 無効なプラットフォームでこれらのファイルやディレクトリがフェッチされてチェックアウトされると、ワーキングディレクトリが破損する可能性があります。 詳細については、「 Git クロスプラットフォームの互換性」を参照してください。

[パスの最大長] 設定では、あらゆるプラットフォームで無効なパス長を持つファイルまたはディレクトリを含むプッシュがブロックされます。 無効なパスの長さを確認するには、 Git クロスプラットフォームの互換性に関する説明を参照してください。 この設定を有効にすると、既定の最大値は 248 です。 この値は、3 つの主要なプラットフォームすべてでサポートされています。

パスの最大値は変更できます。 たとえば、組織内に macOS または Linux 開発者のみが存在する場合は、最大長を 1016 に設定できます。 この値は、両方のプラットフォームでサポートされています。 また、組織のディレクトリ名付け規則を適用するために、パスの最大値をより小さい値に設定できます。

パスの最大長ポリシーを設定するには:

  1. [プロジェクトの設定]>[リポジトリ] を選択し、リポジトリを選択します (そのリポジトリのみ構成する場合)。

  2. [すべてのリポジトリ] または [<Repository 名>ページの [ポリシー] タブの [リポジトリ ポリシー] で、[パスの最大長] を [オン] または [オフ] に設定します。

  3. 設定をオンにした場合は、パスの最大長を入力します。

    パスの最大長ポリシーの設定を示すスクリーンショット。

ファイルの最大サイズ ポリシー

Git にチェックインされた大きなファイルはリポジトリに無期限に残り、複製時間とディスク使用量が増加します。 大きなファイルを管理する方法のガイダンスについては、 Git での大きなファイルの管理と格納に関するページを参照してください。

[ファイルの最大サイズ] ポリシー設定では、特定のサイズを超えたファイルがリポジトリに格納されないようにブロックされます。 プッシュに、この設定で構成された制限を超える新しいファイルまたは更新されたファイルが含まれる場合、そのプッシュはブロックされます。 ユーザーは、未プッシュ履歴を書き換えて大きなファイルを削除し、もう一度プッシュを試す必要があります。

最大ファイル サイズ ポリシーを構成するには:

  1. [プロジェクトの設定]>[リポジトリ] を選択し、リポジトリを選択します (そのリポジトリのみ構成する場合)。

  2. [すべてのリポジトリ] または [<Repository 名> ページの [ポリシー] タブの [リポジトリ ポリシー] で、[最大ファイル サイズ] を [オン] または [オフ] に設定します。

  3. 設定をオンにした場合、最大ファイル サイズを選択します。

    ファイルの最大サイズ ポリシーの設定を示すスクリーンショット。

AI を使用して Git リポジトリの設定を管理する

Azure DevOps MCP Server が構成されている場合は、AI アシスタントで自然言語プロンプトを使用して、リポジトリの設定とポリシーのクエリと管理を行うことができます。

Task プロンプトの例
リポジトリの一覧を表示する List all Git repositories in the <project-name> project
リポジトリの詳細を表示する Show me the settings for the <repository-name> repository in <project-name>
リポジトリ ポリシーを確認する What policies are configured for the <repository-name> repository?
ブランチ ポリシーを一覧表示する Show all branch policies on the main branch in the <repository-name> repository
PR 完了設定を確認する What merge types are allowed for pull requests in the <repository-name> repository?
リポジトリ間ポリシーを確認する List all cross-repository branch policies in the <project-name> project
コード検索ブランチを確認する Which branches are configured for code search in the <repository-name> repository?
リポジトリのアクセス許可を監査する Who has contribute permissions on the <repository-name> repository in <project-name>?

ヒント

Visual Studio Code を使用している場合、 エージェント モード は、複数のリポジトリ間でリポジトリの設定とポリシーを確認および管理する場合に特に役立ちます。