{"meta":{"title":"在 Git 中缓存GitHub凭据","intro":"如果你使用 HTTPS 克隆 GitHub 存储库，我们建议你使用 GitHub CLI 或 Git Credential Manager (GCM) 来记住你的凭据。","product":"开始","breadcrumbs":[{"href":"/zh/get-started","title":"开始"},{"href":"/zh/get-started/git-basics","title":"Git 基本知识"},{"href":"/zh/get-started/git-basics/caching-your-github-credentials-in-git","title":"缓存认证凭据"}],"documentType":"article"},"body":"# 在 Git 中缓存GitHub凭据\n\n如果你使用 HTTPS 克隆 GitHub 存储库，我们建议你使用 GitHub CLI 或 Git Credential Manager (GCM) 来记住你的凭据。\n\n> \\[!TIP]\n> 如果使用 SSH 克隆 GitHub 仓库，则可使用 SSH 密钥而不是其他凭据进行身份验证。 有关设置 SSH 连接的信息，请参阅 [使用 SSH 连接到GitHub](/zh/authentication/connecting-to-github-with-ssh)。\n\n## GitHub CLI\n\n选择 `HTTPS` 作为 Git 操作的首选协议时，GitHub CLI 将自动为你存储 Git 凭据，并对询问你是否要使用 GitHub 凭据向 Git 进行身份验证的提示回答“是”。\n\n1. ```\n             在 macOS、Windows 或 Linux 上[安装](https://github.com/cli/cli#installation) GitHub CLI。\n   ```\n2. 在命令行中，输入 `gh auth login`，然后按照提示进行操作。\n   * 当系统提示输入 Git 操作的首选协议时，请选择 `HTTPS`。\n   * 当系统询问是否要使用 GitHub 凭据向 Git 进行身份验证时，请输入 `Y`。\n\n有关使用 GitHub CLI 进行身份验证的详细信息，请参阅 [`gh auth login`](https://cli.github.com/manual/gh_auth_login)。\n\n## Git 凭据管理器\n\n[Git 凭据管理器](https://github.com/GitCredentialManager/git-credential-manager)（GCM）是安全地存储凭据并通过 HTTPS 连接到GitHub的另一种方法。 使用 GCM 时，不必手动[创建和存储 personal access token](/zh/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens)，因为 GCM 代表你管理身份验证，包括 2FA（双因素身份验证）。\n\n<div class=\"ghd-tool mac\">\n\n1. 使用 [Homebrew](https://brew.sh/) 安装 Git：\n\n   ```shell\n   brew install git\n   ```\n\n2. 使用 Homebrew 安装 GCM：\n\n   ```shell\n   brew install --cask git-credential-manager\n   ```\n\n对于 macOS，不需要运行 `git config`，因为 GCM 会自动为你配置 Git。\n\n下次克隆需要身份验证的 HTTPS URL 时，Git 会提示你使用浏览器窗口登录。 系统可能首先要求你授权 OAuth app。 如果帐户或组织需要[双因素身份验证](/zh/authentication/securing-your-account-with-two-factor-authentication-2fa)，则还需要完成 2FA 质询。\n\n> \\[!TIP]\n>\n> 如果你是使用 Enterprise Managed Users 的企业的成员，则企业视图的屏幕顶部具有“Users managed by ACCOUNT NAME”标头栏。 在这种情况下，需要在 GCM 中本地禁用帐户筛选，以避免每次执行远程 Git 操作时都收到身份验证提示。 有关更多详细信息，请参阅 [`git-credential-manager` 存储库](https://github.com/git-ecosystem/git-credential-manager/blob/release/docs/configuration.md#credentialgithubaccountfiltering)。\n>\n> 要配置 Git 凭据管理器，请运行以下命令：\n>\n> ```bash\n> git config --global credential.gitHubAccountFiltering \"false\"\n> ```\n\n验证成功后，您的凭据存储在 macOS 密钥链中，每次克隆 HTTPS URL 时都会使用。 Git 不会要求您在命令行中再次键入凭据，除非您更改凭据。\n\n</div>\n\n<div class=\"ghd-tool windows\">\n\n1. 安装 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)。\n\n我们建议始终安装最新版本。 至少安装版本 2.29 或更高版本，这是为 GitHub 提供 OAuth 支持的第一个版本。\n\n下次克隆需要身份验证的 HTTPS URL 时，Git 会提示你使用浏览器窗口登录。 系统可能首先要求你授权 OAuth app。 如果帐户或组织需要[双因素身份验证](/zh/authentication/securing-your-account-with-two-factor-authentication-2fa)，则还需要完成 2FA 质询。\n\n> \\[!TIP]\n>\n> 如果你是使用 Enterprise Managed Users 的企业的成员，则企业视图的屏幕顶部具有“Users managed by ACCOUNT NAME”标头栏。 在这种情况下，需要在 GCM 中本地禁用帐户筛选，以避免每次执行远程 Git 操作时都收到身份验证提示。 有关更多详细信息，请参阅 [`git-credential-manager` 存储库](https://github.com/git-ecosystem/git-credential-manager/blob/release/docs/configuration.md#credentialgithubaccountfiltering)。\n>\n> 要配置 Git 凭据管理器，请运行以下命令：\n>\n> ```bash\n> git config --global credential.gitHubAccountFiltering \"false\"\n> ```\n\n成功进行身份验证后，凭据将存储在Windows凭据管理器中，每次克隆 HTTPS URL 时都会使用。 Git 不会要求您在命令行中再次键入凭据，除非您更改凭据。\n\n<br>\n\n> \\[!WARNING]\n> 较旧版本的 Git for Windows附带了适用于 Windows 的 Git 凭据管理器。 此较旧的产品不再受支持，无法通过 OAuth 连接到GitHub。 建议升级到 [最新版本的 Git for Windows](https://github.com/git-for-windows/git/releases/latest)。\n\n> \\[!WARNING]\n> 如果在凭据管理器中缓存了Windows不正确或过时的凭据，Git 将无法访问 GitHub。 若要重置缓存的凭据，以便 Git 提示您输入凭据，请在用户帐户下，通过控制面板访问凭据管理器。 找到 GitHub 条目并将其删除。\n\n</div>\n\n<div class=\"ghd-tool linux\">\n\n对于 Linux，安装 Git 和 GCM，然后配置 Git 使用 GCM。\n\n1. 从发行版的软件包系统中安装 Git。 说明将根据您运行的 Linux 的风格而有所不同。\n\n2. 安装 GCM。 查看 [GCM 存储库中的说明](https://github.com/git-ecosystem/git-credential-manager/blob/release/docs/install.md)，说明将根据运行的 Linux 的风格而有所不同。\n\n3. 配置 Git 使用 GCM 有几个支持商店，您可以从中选择，因此请参阅 GCM 文档来完成设置。 有关详细信息，请参阅 [GCM Linux](https://aka.ms/gcmcore-linuxcredstores)。\n\n下次克隆需要身份验证的 HTTPS URL 时，Git 会提示你使用浏览器窗口登录。 系统可能首先要求你授权 OAuth app。 如果帐户或组织需要[双因素身份验证](/zh/authentication/securing-your-account-with-two-factor-authentication-2fa)，则还需要完成 2FA 质询。\n\n> \\[!TIP]\n>\n> 如果你是使用 Enterprise Managed Users 的企业的成员，则企业视图的屏幕顶部具有“Users managed by ACCOUNT NAME”标头栏。 在这种情况下，需要在 GCM 中本地禁用帐户筛选，以避免每次执行远程 Git 操作时都收到身份验证提示。 有关更多详细信息，请参阅 [`git-credential-manager` 存储库](https://github.com/git-ecosystem/git-credential-manager/blob/release/docs/configuration.md#credentialgithubaccountfiltering)。\n>\n> 要配置 Git 凭据管理器，请运行以下命令：\n>\n> ```bash\n> git config --global credential.gitHubAccountFiltering \"false\"\n> ```\n\n验证成功后，您的凭据存储在系统中，每次克隆 HTTPS URL 时都会使用。 Git 不会要求您在命令行中再次键入凭据，除非您更改凭据。\n\n有关在 Linux 上存储凭据的更多选项，请参阅 Pro Git 中的[凭据存储](https://git-scm.com/book/en/v2/Git-Tools-Credential-Storage)。\n\n</div>\n\n<br>\n\n如需详细信息或报告 GCM 议题，请参阅官方 GCM 文档：[Git 凭据管理器](https://github.com/GitCredentialManager/git-credential-manager)。"}