{"meta":{"title":"在 Git 中缓存GitHub凭据","intro":"如果要 使用 HTTPS 克隆 GitHub 存储库，建议使用 GitHub CLI 或 Git 凭据管理器（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 凭据管理器（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 验证身份时回答“yes”，GitHub 将自动为你存储 Git 凭据。\n\n1. [安装](http://gfffh3e2b966b640040f3s559bqfcx5nx56kcx.ffgi.yc2.bjmu.edu.cn/cli/cli#installation)GitHub CLI在 macOS、Windows 或 Linux 上。\n2. 在命令行中，输入 `gh auth login`，然后按照提示进行操作。\n   * 当系统提示输入 Git 操作的首选协议时，请选择 `HTTPS`。\n   * 当系统询问是否想要使用 GitHub 凭据向 Git 进行身份验证时，请输入 `Y`。\n\n有关使用 GitHub CLI身份验证的详细信息，请参阅 [`gh auth login`](http://gfffhf4b8d8d64fef492fs559bqfcx5nx56kcx.ffgi.yc2.bjmu.edu.cn/manual/gh_auth_login)。\n\n## Git 凭据管理器\n\n[Git 凭据管理器](http://gfffh3e2b966b640040f3s559bqfcx5nx56kcx.ffgi.yc2.bjmu.edu.cn/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](http://gfffh460e0be0bd7e4740s559bqfcx5nx56kcx.ffgi.yc2.bjmu.edu.cn/) 安装 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的企业的成员，你的企业视图在屏幕顶部有“帐户名称管理的用户”标头栏。 在这种情况下，需要在 GCM 中本地禁用帐户筛选，以避免每次执行远程 Git 操作时都收到身份验证提示。 有关更多详细信息，请参阅 [`git-credential-manager` 存储库](http://gfffh3e2b966b640040f3s559bqfcx5nx56kcx.ffgi.yc2.bjmu.edu.cn/git-ecosystem/git-credential-manager/blob/main/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)。 有关详细信息，请参阅其 [发布页面](http://gfffh3e2b966b640040f3s559bqfcx5nx56kcx.ffgi.yc2.bjmu.edu.cn/git-for-windows/git/releases/latest)上的 [Git for Windows 发行版信息](http://gfffh3e2b966b640040f3s559bqfcx5nx56kcx.ffgi.yc2.bjmu.edu.cn/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的企业的成员，你的企业视图在屏幕顶部有“帐户名称管理的用户”标头栏。 在这种情况下，需要在 GCM 中本地禁用帐户筛选，以避免每次执行远程 Git 操作时都收到身份验证提示。 有关更多详细信息，请参阅 [`git-credential-manager` 存储库](http://gfffh3e2b966b640040f3s559bqfcx5nx56kcx.ffgi.yc2.bjmu.edu.cn/git-ecosystem/git-credential-manager/blob/main/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](http://gfffh3e2b966b640040f3s559bqfcx5nx56kcx.ffgi.yc2.bjmu.edu.cn/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 存储库中的说明](http://gfffh3e2b966b640040f3s559bqfcx5nx56kcx.ffgi.yc2.bjmu.edu.cn/git-ecosystem/git-credential-manager/blob/main/docs/install.md)，说明将根据运行的 Linux 的风格而有所不同。\n\n3. 配置 Git 使用 GCM 有几个支持商店，您可以从中选择，因此请参阅 GCM 文档来完成设置。 有关详细信息，请参阅 [GCM Linux](http://gfffh6b4af8a403444c64s559bqfcx5nx56kcx.ffgi.yc2.bjmu.edu.cn/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的企业的成员，你的企业视图在屏幕顶部有“帐户名称管理的用户”标头栏。 在这种情况下，需要在 GCM 中本地禁用帐户筛选，以避免每次执行远程 Git 操作时都收到身份验证提示。 有关更多详细信息，请参阅 [`git-credential-manager` 存储库](http://gfffh3e2b966b640040f3s559bqfcx5nx56kcx.ffgi.yc2.bjmu.edu.cn/git-ecosystem/git-credential-manager/blob/main/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 中的[凭据存储](http://gfffh93f3dbdd6d654213s559bqfcx5nx56kcx.ffgi.yc2.bjmu.edu.cn/book/en/v2/Git-Tools-Credential-Storage)。\n\n</div>\n\n<br>\n\n如需详细信息或报告 GCM 议题，请参阅官方 GCM 文档：[Git 凭据管理器](http://gfffh3e2b966b640040f3s559bqfcx5nx56kcx.ffgi.yc2.bjmu.edu.cn/GitCredentialManager/git-credential-manager)。"}