> ## Documentation Index
> Fetch the complete documentation index at: https://docs.replit.com/llms.txt
> Use this file to discover all available pages before exploring further.

# リポジトリアクセスを管理する

> 個人のGitHubおよびGitLab連携、バックグラウンドビルド用のワークスペースアクセス、リポジトリへのアクセスに失敗したときに確認すべき権限について解説します。

リポジトリアクセスには、チャットでコードを扱うことと、共有環境のビルドでコードを取得することという、2つの別々の目的があります。

## 個人アカウントを接続する

Replitのインテグレーションを通じて、GitHubまたはGitLabを接続します。Replitは、あなたが承認したアクセスを使ってコードを確認し、依頼があり許可されている場合には、ブランチのプッシュやプルリクエスト/マージリクエストの作成を行います。

Replitに次のように依頼します。

```text theme={null}
Connect my GitHub account so I can work on an existing repository.
```

GitLabの場合は、GitHubをGitLabに置き換えてください。接続フローを完了し、要求されるアクセス権を確認します。

インターフェースから接続するには、**Repositories**を開き、プロバイダーのカードで**Connect**を選択します。**Manage**と表示されている場合は、**Personal account**の下にある**Connect**を選択します。個人設定の[Integrations](https://replit.com/settings/integrations)から接続することもできます。

![GitHubとGitLabの接続カードが表示された個人のインテグレーション画面。](https://mintcdn.com/replit/l9aRo5oYtavP6PnT/images/code-contributions/personal-git-integrations.jpg?fit=max\&auto=format\&n=l9aRo5oYtavP6PnT\&q=85\&s=8fe6b5e6b81b70eec0de014a1458bc89)

リポジトリのURLを共有し、Replitが読み取れることを確認します。プルリクエストを作成するには、ブランチをプッシュする権限、またはチームが承認したフォークのワークフローを使用する権限も必要です。

個人のサインインを解除するには、**Repositories > Manage**に戻り、**Personal account**の下にある**Disconnect**を選択します。この操作で、ワークスペースのリポジトリ許可が削除されることはありません。

## ワークスペースアクセスを設定する

ワークスペース管理者が、バックグラウンドの環境ビルド用にリポジトリの許可を設定します。個人のサインインは、この共有設定の代わりにはなりません。

**Repositories**を開き、プロバイダーのカードを見つけて**Manage**を選択します。カードに**Connect**と表示されている場合は、先にサインインしてください。**Workspace connection(s)**の下で、ワークスペース設定のためにサインインするには**Connect**を、既存のアクセスを管理するには**Configure**を選択します。

共有アクセスを設定できるのは、ワークスペース管理者のみです。メンバーは、共有アクセスの表示と、自分の個人のサインインの管理ができます。利用可否はワークスペースによって異なる場合があります。

### GitHub: アプリをインストールして接続する

1. ワークスペース接続エディターでGitHubにサインインし、所属する組織を表示します。
2. **Add GitHub organization**を選択し、Replit GitHub Appの対象となる組織とリポジトリを選択します。GitHub管理者による承認が必要な場合があります。
3. Replitに戻り、必要に応じて**Refresh**を選択して、インストール済みの組織の横にある**Connect**を選択します。インストールだけでは、ワークスペースに接続されません。
4. 環境をビルドする前に、組織に**Connected**と表示されていることを確認します。

インストールのリポジトリ権限はGitHubが管理します。リポジトリが表示されない場合は、GitHub管理者とともに権限を確認してください。

### GitLab: グループを接続する

GitLabでは、GitHubのようなアプリのインストールではなく、グループとプロジェクトの許可を使用します。

1. ワークスペース接続エディターでGitLabにサインインし、所属するグループを表示します。
2. グループの横にある**Configure**を選択し、共有するプロジェクトを選んで、**Connect group**を選択します。
3. グループに**Connected**と表示されていることを確認します。後から選択したプロジェクトを変更するには、**Edit**を使用します。

グループやプロジェクトが表示されない場合は、GitLabの権限と組織の承認要件を確認してください。

### 共有アクセスを解除する

**Repositories > Manage > Configure**で、ワークスペースの許可に対して**Disconnect**を選択します。これにより、その許可を通じたワークスペースのアクセスが削除されます。個人のサインインや、プロバイダー側のGitHub Appのインストールは削除されません。

この許可に依存しているビルドやプロジェクトは、リポジトリへのアクセスを失います。GitLabグループを解除すると、そのReplitのサービスアカウント、メンバーシップ、Webhookも削除され、既存のビルドトークンは無効化されます。

選択したGitLabプロジェクトのみを削除するには、代わりに**Edit**を使用します。プロジェクトを削除すると、そのワークスペースアクセスが取り消され、既存のビルドトークンが無効になる場合があります。

## アクセスのトラブルシューティング

* **チャットが読み取りまたはプッシュできない:** 接続されている個人アカウントと、そのリポジトリ権限を確認してください。
* **環境ビルドがコードを取得できない:** ワークスペース接続と、選択されているリポジトリを確認してください。
* **アプリがサービスにアクセスできない:** リポジトリアクセスは、アプリケーションの認証情報を提供しません。[環境にシークレットを追加する](https://docs.replit.com/ja/build/code/adding-secrets-to-environments.md)を参照してください。

アクセスエラーを回避するために、個人用アクセストークンをチャットに貼り付けないでください。

共有アクセスを設定したら、[再利用可能な環境を作成する](https://docs.replit.com/ja/build/code/create-reusable-environment.md)に進みます。外部サービスのアイデンティティやチャットのシークレットは、ワークスペースのリポジトリ許可の代わりにはなりません。
