# 在 Git 中缓存GitHub凭据

如果你使用 HTTPS 克隆 GitHub 存储库，我们建议你使用 GitHub CLI 或 Git Credential Manager (GCM) 来记住你的凭据。

> \[!TIP]
> 如果使用 SSH 克隆 GitHub 仓库，则可使用 SSH 密钥而不是其他凭据进行身份验证。 有关设置 SSH 连接的信息，请参阅 [使用 SSH 连接到GitHub](/zh/enterprise-server@3.22/authentication/connecting-to-github-with-ssh)。

## GitHub CLI

选择 `HTTPS` 作为 Git 操作的首选协议时，GitHub CLI 将自动为你存储 Git 凭据，并对询问你是否要使用 GitHub 凭据向 Git 进行身份验证的提示回答“是”。

1. ```
             在 macOS、Windows 或 Linux 上[安装](https://github.com/cli/cli#installation) GitHub CLI。
   ```
2. 在命令行中，输入 `gh auth login`，然后按照提示进行操作。
   * 当系统提示输入 Git 操作的首选协议时，请选择 `HTTPS`。
   * 当系统询问是否要使用 GitHub 凭据向 Git 进行身份验证时，请输入 `Y`。

有关使用 GitHub CLI 进行身份验证的详细信息，请参阅 [`gh auth login`](https://cli.github.com/manual/gh_auth_login)。

## Git 凭据管理器

[Git 凭据管理器](https://github.com/GitCredentialManager/git-credential-manager)（GCM）是安全地存储凭据并通过 HTTPS 连接到GitHub的另一种方法。 使用 GCM 时，不必手动[创建和存储 personal access token](/zh/enterprise-server@3.22/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens)，因为 GCM 代表你管理身份验证，包括 2FA（双因素身份验证）。

<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，不需要运行 `git config`，因为 GCM 会自动为你配置 Git。

下次克隆需要身份验证的 HTTPS URL 时，Git 会提示你使用浏览器窗口登录。 系统可能首先要求你授权 OAuth app。 如果帐户或组织需要[双因素身份验证](/zh/enterprise-server@3.22/authentication/securing-your-account-with-two-factor-authentication-2fa)，则还需要完成 2FA 质询。

验证成功后，您的凭据存储在 macOS 密钥链中，每次克隆 HTTPS URL 时都会使用。 Git 不会要求您在命令行中再次键入凭据，除非您更改凭据。

</div>

<div class="ghd-tool windows">

1. 安装 Git for Windows，其中包括 Git Credential Manager (GCM)。 有关详细信息，请参阅其 [发布页面](https://github.com/git-for-windows/git/releases/latest)上的 [Git for Windows 发行版信息](https://github.com/git-for-windows/git/releases/latest)。

我们建议始终安装最新版本。 至少安装版本 2.29 或更高版本，这是为 GitHub 提供 OAuth 支持的第一个版本。

下次克隆需要身份验证的 HTTPS URL 时，Git 会提示你使用浏览器窗口登录。 系统可能首先要求你授权 OAuth app。 如果帐户或组织需要[双因素身份验证](/zh/enterprise-server@3.22/authentication/securing-your-account-with-two-factor-authentication-2fa)，则还需要完成 2FA 质询。

成功进行身份验证后，凭据将存储在Windows凭据管理器中，每次克隆 HTTPS URL 时都会使用。 Git 不会要求您在命令行中再次键入凭据，除非您更改凭据。

<br>

> \[!WARNING]
> 较旧版本的 Git for Windows附带了适用于 Windows 的 Git 凭据管理器。 此较旧的产品不再受支持，无法通过 OAuth 连接到GitHub。 建议升级到 [最新版本的 Git for Windows](https://github.com/git-for-windows/git/releases/latest)。

> \[!WARNING]
> 如果在凭据管理器中缓存了Windows不正确或过时的凭据，Git 将无法访问 GitHub。 若要重置缓存的凭据，以便 Git 提示您输入凭据，请在用户帐户下，通过控制面板访问凭据管理器。 找到 GitHub 条目并将其删除。

</div>

<div class="ghd-tool linux">

对于 Linux，安装 Git 和 GCM，然后配置 Git 使用 GCM。

1. 从发行版的软件包系统中安装 Git。 说明将根据您运行的 Linux 的风格而有所不同。

2. 安装 GCM。 查看 [GCM 存储库中的说明](https://github.com/git-ecosystem/git-credential-manager/blob/release/docs/install.md)，说明将根据运行的 Linux 的风格而有所不同。

3. 配置 Git 使用 GCM 有几个支持商店，您可以从中选择，因此请参阅 GCM 文档来完成设置。 有关详细信息，请参阅 [GCM Linux](https://aka.ms/gcmcore-linuxcredstores)。

下次克隆需要身份验证的 HTTPS URL 时，Git 会提示你使用浏览器窗口登录。 系统可能首先要求你授权 OAuth app。 如果帐户或组织需要[双因素身份验证](/zh/enterprise-server@3.22/authentication/securing-your-account-with-two-factor-authentication-2fa)，则还需要完成 2FA 质询。

验证成功后，您的凭据存储在系统中，每次克隆 HTTPS URL 时都会使用。 Git 不会要求您在命令行中再次键入凭据，除非您更改凭据。

有关在 Linux 上存储凭据的更多选项，请参阅 Pro Git 中的[凭据存储](https://git-scm.com/book/en/v2/Git-Tools-Credential-Storage)。

</div>

<br>

如需详细信息或报告 GCM 议题，请参阅官方 GCM 文档：[Git 凭据管理器](https://github.com/GitCredentialManager/git-credential-manager)。