Skip to main content

GitHub Copilot のコンテンツ除外の構成

GitHub Copilot が特定のコンテンツにアクセスできないようにすることができます。

この機能を使用できるユーザーについて

リポジトリ管理者と組織の所有者は、コンテンツの除外設定を管理できます。

リポジトリの "保持" ロールを持つユーザーは、そのリポジトリのコンテンツ除外設定を表示できますが、編集することはできません。

GitHub Copilot Business または GitHub Copilot Enterprise にサブスクリプションしている組織

Note

  • GitHub Command Palette からのコンテンツの除外は現在パブリック ベータ版であり、変更される可能性があります。
  • コンテンツの除外は、現在、一部の IDE でサポートされています。 「GitHub Copilot のコンテンツ除外について」をご覧ください。

リポジトリのコンテンツ除外の構成

リポジトリ設定を使用して、GitHub Copilot で無視するようにするリポジトリ内のコンテンツを指定できます。

  1. GitHub.com で、リポジトリのメイン ページへ移動します。

  2. リポジトリ名の下にある [設定] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。

    タブを示すリポジトリ ヘッダーのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で強調表示されています。

  3. サイドバーの [コードと自動化] セクションで、[ Copilot] をクリックします。

    リポジトリがその親組織から除外を継承している場合、これらの除外の詳細を含むページの上部に 1 つのグレー ボックスが表示されます。 これらの設定は編集できません。

  4. [このリポジトリで除外するパス] のボックスに、Copilot を除外するファイルへのパスを入力します。

    各パスを別々の行にして、形式 - "/PATH/TO/DIRECTORY/OR/FILE" を使用します。 行頭を # にすることで、コメントを追加できます。

    Tip

    fnmatch パターン マッチング表記を使用して、ファイル パスを指定できます。 パターンでは大文字と小文字が区別されません。 ruby-doc.org ドキュメントの「File」(ファイル) を参照してください。

リポジトリ設定で指定されたパスの例

YAML
- "/src/some-dir/kernel.rs"

Ignore the /src/some-dir/kernel.rs file in this repository.

- "secrets.json"

Ignore files called secrets.json anywhere in this repository.

- "secret*"

Ignore all files whose names begin with secret anywhere in this repository.

- "*.cfg"

Ignore files whose names end with .cfg anywhere in this repository.

- "/scripts/**"

Ignore all files in or below the /scripts directory of this repository.

# Ignore the `/src/some-dir/kernel.rs` file in this repository.
- "/src/some-dir/kernel.rs"

# Ignore files called `secrets.json` anywhere in this repository.
- "secrets.json"

# Ignore all files whose names begin with `secret` anywhere in this repository.
- "secret*"

# Ignore files whose names end with `.cfg` anywhere in this repository.
- "*.cfg"

# Ignore all files in or below the `/scripts` directory of this repository.
- "/scripts/**"

組織のコンテンツ除外の構成

organization 設定を使用して、GitHub Copilot で無視するように設定する任意の Git リポジトリ内のコンテンツを指定できます。

  1. GitHub の右上隅で、プロフィール写真を選択し、 あなたの組織をクリックします。

  2. 組織の隣の [設定] をクリックします。

  3. 左側のサイドバーで、[ Copilot] をクリックし、[コンテンツの除外] をクリックします。

  4. [除外するリポジトリとパス] のボックスに、Copilot を除外する場所の詳細を入力します。

    ファイルを Copilot から除外するリポジトリごとに、リポジトリへの参照を 1 行に入力し、その後にリポジトリ内の場所へのパスを各パスが別々の行になるように入力します。 次の形式を使用します。

    REPOSITORY-REFERENCE:
      - "/PATH/TO/DIRECTORY/OR/FILE"
      - "/PATH/TO/DIRECTORY/OR/FILE"
      - ...
    

    リポジトリは、さまざまなプロトコルを使用して参照できます。 REPOSITORY-REFERENCE には、次のいずれかの構文を使用できます。また、リポジトリのローカルでの複製方法に関係なく、Copilot はこれらの構文と一致します。

    http[s]://host.xz[:port]/path/to/repo.git/
    
    git://host.xz[:port]/path/to/repo.git/
    
    [user@]host.xz:path/to/repo.git/
    
    ssh://[user@]host.xz[:port]/path/to/repo.git/
    

REPOSITORY-REFERENCE の書式設定に関するヒント

  • fnmatch パターン マッチング表記を使用して、ファイル パスを指定できます。 パターンでは大文字と小文字が区別されません。 ruby-doc.org ドキュメントの「File」(ファイル) を参照してください。
  • リポジトリに対して無視するパスの計算では、REPOSITORY-REFERENCEuser@ 部分と :port 部分は無視されます。
  • 各リポジトリ参照には、単一の * ワイルドカードを含めることができます。 たとえば、https://github.com/octo-org/*octo-org Organization 内のすべてのリポジトリと一致します。
  • Azure DevOps では、REPOSITORY-REFERENCE を指定するときに新しい (dev.azure.com) または古い (visualstudio.com) ホスト形式を使用でき、どのホストを使用してリポジトリをローカルにクローンしたかに関係なく、Copilot はそれらに一致します。

組織設定のリポジトリとパスの例

YAML
"*":
  - "**/.env"

Ignore all .env files at any path, in any repository. This setting applies to all repositories, not just to those on GitHub.com. This could also have been written on a single line as:

"*": ["**/.env"]

octo-repo:

In the octo-repo repository in this organization:

  - "/src/some-dir/kernel.rs"

Ignore the /src/some-dir/kernel.rs file.

https://github.com/primer/react.git:

In the primer/react repository on GitHub:

  - "secrets.json"

Ignore files called secrets.json anywhere in this repository.

  - "/src/**/temp.rb"

Ignore files called temp.rb in or below the /src directory.

git@github.com:*/copilot:

In the copilot repository of any GitHub organization:

  - "/__tests__/**"

Ignore any files in or below the /__tests__ directory.

  - "/scripts/*"

Ignore any files in the /scripts directory.

git@gitlab.com:gitlab-org/gitlab-runner.git:

In the gitlab-org/gitlab-runner repository on GitLab:

  - "/main_test.go"

Ignore the /main_test.go file.

  - "{server,session}*"

Ignore any files with names beginning with server or session anywhere in this repository.

  - "*.m[dk]"

Ignore any files with names ending with .md or .mk anywhere in this repository.

  - "**/package?/*"

Ignore files directly within directories such as packages or packaged anywhere in this repository.

  - "**/security/**"

Ignore files in or below any security directories, anywhere in this repository.

# Ignore all `.env` files at any path, in any repository.
# This setting applies to all repositories, not just to those on GitHub.com.
# This could also have been written on a single line as:
#
# "*": ["**/.env"]
"*":
  - "**/.env"

# In the `octo-repo` repository in this organization:
octo-repo:
  # Ignore the `/src/some-dir/kernel.rs` file.
  - "/src/some-dir/kernel.rs"

# In the `primer/react` repository on GitHub:
https://github.com/primer/react.git:
  # Ignore files called `secrets.json` anywhere in this repository.
  - "secrets.json"
  # Ignore files called `temp.rb` in or below the `/src` directory.
  - "/src/**/temp.rb"

# In the `copilot` repository of any GitHub organization:
git@github.com:*/copilot:
  # Ignore any files in or below the `/__tests__` directory.
  - "/__tests__/**"
  # Ignore any files in the `/scripts` directory.
  - "/scripts/*"

# In the `gitlab-org/gitlab-runner` repository on GitLab:
git@gitlab.com:gitlab-org/gitlab-runner.git:
  # Ignore the `/main_test.go` file.
  - "/main_test.go"
  # Ignore any files with names beginning with `server` or `session` anywhere in this repository.
  - "{server,session}*"
  # Ignore any files with names ending with `.md` or `.mk` anywhere in this repository.
  - "*.m[dk]"
  # Ignore files directly within directories such as `packages` or `packaged` anywhere in this repository.
  - "**/package?/*"
  # Ignore files in or below any `security` directories, anywhere in this repository.
  - "**/security/**"

次のステップ

変更をテストするには、「IDE でコンテンツ除外の変更をテストする」を参照してください。