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

HTTPS を使用してリポジトリGitHub複製する場合は、GitHub CLIまたは Git Credential Manager (GCM) を使用して資格情報を記憶することをお勧めします。

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

## GitHub CLI

GitHub CLI Git 操作の優先プロトコルとして `HTTPS` を選択すると、Git 資格情報が自動的に格納され、 GitHub 資格情報を使用して Git に対して認証するかどうかを確認するプロンプトに対して "はい" と答えます。

1. [インストールGitHub CLI](http://gfffh3e2b966b640040f3s0qbw9k5qpcbv6pbk.ffgi.yc2.bjmu.edu.cn/cli/cli#installation)macOS、Windows、または Linux。
2. コマンド ラインで、「`gh auth login`」と入力し、プロンプトに従います。
   * Git 操作の優先プロトコルの入力を求められたら、`HTTPS` を選択します。
   * GitHub資格情報を使用して Git に対して認証を行うかどうかを確認するメッセージが表示されたら、「`Y`」と入力します。

GitHub CLIを使用した認証の詳細については、[`gh auth login`](http://gfffhf4b8d8d64fef492fs0qbw9k5qpcbv6pbk.ffgi.yc2.bjmu.edu.cn/manual/gh_auth_login)を参照してください。

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

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

<div class="ghd-tool mac">

1. [Homebrew](http://gfffh460e0be0bd7e4740s0qbw9k5qpcbv6pbk.ffgi.yc2.bjmu.edu.cn/) を使用して 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を使用する企業のメンバーである場合、エンタープライズ ビューの画面上部に "アカウント名で管理されるユーザー" ヘッダー バーがあります。 その場合、リモート Git 操作を実行するたびに認証を求めるプロンプトが表示されないようにするには、GCM のアカウント フィルタリングをローカルで無効にする必要があります。 詳細については、[`git-credential-manager` リポジトリ](http://gfffh3e2b966b640040f3s0qbw9k5qpcbv6pbk.ffgi.yc2.bjmu.edu.cn/git-ecosystem/git-credential-manager/blob/main/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をインストールします。 詳細については、[リリースページ](http://gfffh3e2b966b640040f3s0qbw9k5qpcbv6pbk.ffgi.yc2.bjmu.edu.cn/git-for-windows/git/releases/latest)の[Git for Windows リリース](http://gfffh3e2b966b640040f3s0qbw9k5qpcbv6pbk.ffgi.yc2.bjmu.edu.cn/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を使用する企業のメンバーである場合、エンタープライズ ビューの画面上部に "アカウント名で管理されるユーザー" ヘッダー バーがあります。 その場合、リモート Git 操作を実行するたびに認証を求めるプロンプトが表示されないようにするには、GCM のアカウント フィルタリングをローカルで無効にする必要があります。 詳細については、[`git-credential-manager` リポジトリ](http://gfffh3e2b966b640040f3s0qbw9k5qpcbv6pbk.ffgi.yc2.bjmu.edu.cn/git-ecosystem/git-credential-manager/blob/main/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の Credential Manager で正しくない資格情報または古い資格情報をキャッシュした場合、Git はGitHubにアクセスできません。 キャッシュされた資格情報をリセットして、Git から資格情報の入力を求めるメッセージが表示されるようにするには、Windows コントロール パネルの \[ユーザー アカウント] > で資格情報マネージャーにアクセスします。資格情報マネージャー。
> GitHubエントリを探して削除します。

</div>

<div class="ghd-tool linux">

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

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

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

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

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

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

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

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

</div>

<br>

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