# Git でGitHub資格情報をキャッシュする

[HTTPS を使用して GitHub リポジトリをクローン](/github/getting-started-with-github/about-remote-repositories)する場合は、GitHub CLI または Git Credential Manager (GCM) を使用して資格情報を記憶することをお勧めします。

> \[!TIP]
> SSH を使って GitHub リポジトリをクローンすると、他の資格情報ではなく SSH キーを使って認証することができます。 SSH 接続の設定については、「[SSH を使用したGitHubへの接続](/ja/authentication/connecting-to-github-with-ssh)」を参照してください。

## GitHub CLI

Git 操作の優先プロトコルとして `HTTPS` を選び、GitHub CLI 認証を使って Git に対する認証を行うかどうかを確認するプロンプトに「yes」と答えると、GitHub により、Git 資格情報が自動的に格納されます。

1. ```
             macOS、Windows、または Linux に GitHub CLI を[インストール](https://github.com/cli/cli#installation)します。
   ```
2. コマンド ラインで、「`gh auth login`」と入力し、プロンプトに従います。
   * Git 操作の優先プロトコルの入力を求められたら、`HTTPS` を選択します。
   * GitHub 資格情報を使って Git に対して認証するかどうかを尋ねられたら、「`Y`」と入力します。

GitHub CLI を使用した認証の詳細については、「[`gh auth login`](https://cli.github.com/manual/gh_auth_login)」を参照してください。

## Git Credential Manager（Git クレデンシャル マネージャー）

```
          [Git Credential Manager](https://github.com/GitCredentialManager/git-credential-manager) (GCM) は、資格情報を安全に格納し、HTTPS 経由でGitHubに接続するもう 1 つの方法です。 GCM を使うと、2FA (2 要素認証) を含む認証をユーザーの代わりに GCM が管理するため、手動で [personal access token を作成して格納する](/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens)必要はありません。
```

<div class="ghd-tool mac">

1. ```
          [Homebrew](https://brew.sh/) を使用して Git をインストールします。
   ```

   ```shell
   brew install git
   ```

2. Homebrew を使用して GCM をインストールします。

   ```shell
   brew install --cask git-credential-manager
   ```

macOSは、GCM によって Git が自動的に構成されるため、`git config` を実行する必要はありません。

認証が必要な HTTPS URL の複製を今度作成するとき、Git からブラウザー ウィンドウを利用してログインするように求められます。 最初に、OAuth app を承認するように求められる場合があります。 アカウントまたは組織で [2 要素認証](/ja/authentication/securing-your-account-with-two-factor-authentication-2fa)が必要な場合は、2FA チャレンジを完了する必要もあります。

> \[!TIP]
>
> Enterprise Managed Users を使う Enterprise のメンバーである場合、Enterprise ビューの画面上部に \[Users managed by ACCOUNT NAME] ヘッダー バーが表示されます。 その場合、リモート Git 操作を実行するたびに認証を求めるプロンプトが表示されないようにするには、GCM のアカウント フィルタリングをローカルで無効にする必要があります。 詳細については、[`git-credential-manager` リポジトリ](https://github.com/git-ecosystem/git-credential-manager/blob/release/docs/configuration.md#credentialgithubaccountfiltering)を参照してください。
>
> Git Credential Manager を構成するには、次のコマンドを実行します。
>
> ```bash
> git config --global credential.gitHubAccountFiltering "false"
> ```

認証に成功すると、認証情報は macOS のキーチェーンに保存され、HTTPS URL をクローンするたびに使用されます。 Git では、資格情報を変更しない限り、コマンド ラインに資格情報を再入力する必要はありません。

</div>

<div class="ghd-tool windows">

1. GCM を含む git for Windowsをインストールします。 詳細については、[リリースページ](https://github.com/git-for-windows/git/releases/latest)の[Git for Windows リリース](https://github.com/git-for-windows/git/releases/latest)を参照してください。

常に最新バージョンをインストールすることをお勧めします。 少なくとも、GitHubの OAuth サポートを提供する最初のバージョンであるバージョン 2.29 以降をインストールします。

認証が必要な HTTPS URL の複製を今度作成するとき、Git からブラウザー ウィンドウを利用してログインするように求められます。 最初に、OAuth app を承認するように求められる場合があります。 アカウントまたは組織で [2 要素認証](/ja/authentication/securing-your-account-with-two-factor-authentication-2fa)が必要な場合は、2FA チャレンジを完了する必要もあります。

> \[!TIP]
>
> Enterprise Managed Users を使う Enterprise のメンバーである場合、Enterprise ビューの画面上部に \[Users managed by ACCOUNT NAME] ヘッダー バーが表示されます。 その場合、リモート Git 操作を実行するたびに認証を求めるプロンプトが表示されないようにするには、GCM のアカウント フィルタリングをローカルで無効にする必要があります。 詳細については、[`git-credential-manager` リポジトリ](https://github.com/git-ecosystem/git-credential-manager/blob/release/docs/configuration.md#credentialgithubaccountfiltering)を参照してください。
>
> Git Credential Manager を構成するには、次のコマンドを実行します。
>
> ```bash
> git config --global credential.gitHubAccountFiltering "false"
> ```

正常に認証されると、資格情報はWindows資格情報マネージャーに格納され、HTTPS URL を複製するたびに使用されます。 Git では、資格情報を変更しない限り、コマンド ラインに資格情報を再入力する必要はありません。

<br>

> \[!WARNING]
> 以前のバージョンの Git for Windowsには、Windows用の Git Credential Manager が付属しています。 この古い製品はサポートされなくなり、OAuth 経由でGitHubに接続できません。 最新バージョンの Git for Windows にアップグレードすることをお勧めします。

> \[!WARNING]
> Windowsの資格情報マネージャーで正しくない資格情報または古い資格情報をキャッシュした場合、Git は GitHub にアクセスできません。 キャッシュされた資格情報をリセットして、Git から資格情報の入力を求めるメッセージが表示されるようにするには、Windows Control Panelの \[ユーザー アカウント] > で資格情報マネージャーにアクセスします。資格情報マネージャー。 GitHub エントリを探して削除してください。

</div>

<div class="ghd-tool linux">

Linuxは、Git と GCM をインストールし、GCM を使用するように Git を構成します。

1. ディストリビューションのパッケージ システムから Git をインストールします。 手順は、実行している Linux のフレーバーによって異なります。

2. GCM をインストールします。 実行している Linux のフレーバーによって異なるため、[GCM リポジトリの手順](https://github.com/git-ecosystem/git-credential-manager/blob/release/docs/install.md)を参照してください。

3. GCM を使用するように Git を構成します。 選択できるバッキング ストアがいくつかあるため、GCM のドキュメントを参照してセットアップを完了してください。 詳細については、[GCM Linux](https://aka.ms/gcmcore-linuxcredstores) に関するページを参照してください。

認証が必要な HTTPS URL の複製を今度作成するとき、Git からブラウザー ウィンドウを利用してログインするように求められます。 最初に、OAuth app を承認するように求められる場合があります。 アカウントまたは組織で [2 要素認証](/ja/authentication/securing-your-account-with-two-factor-authentication-2fa)が必要な場合は、2FA チャレンジを完了する必要もあります。

> \[!TIP]
>
> Enterprise Managed Users を使う Enterprise のメンバーである場合、Enterprise ビューの画面上部に \[Users managed by ACCOUNT NAME] ヘッダー バーが表示されます。 その場合、リモート Git 操作を実行するたびに認証を求めるプロンプトが表示されないようにするには、GCM のアカウント フィルタリングをローカルで無効にする必要があります。 詳細については、[`git-credential-manager` リポジトリ](https://github.com/git-ecosystem/git-credential-manager/blob/release/docs/configuration.md#credentialgithubaccountfiltering)を参照してください。
>
> Git Credential Manager を構成するには、次のコマンドを実行します。
>
> ```bash
> git config --global credential.gitHubAccountFiltering "false"
> ```

認証に成功すると、認証情報はお使いのシステムに保存され、HTTPS URL をクローンするたびに使用されます。 Git では、資格情報を変更しない限り、コマンド ラインに資格情報を再入力する必要はありません。

Linux に資格情報を格納するためのその他のオプションについては、Pro Git の「[資格情報のストレージ](https://git-scm.com/book/en/v2/Git-Tools-Credential-Storage)」を参照してください。

</div>

<br>

GCM の詳細や issue の報告については、「[Git Credential Manager](https://github.com/GitCredentialManager/git-credential-manager)」の公式 GCM ドキュメントを参照してください。