跳至主要内容

在 Git 中缓存 GitHub 凭据

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

平台导航

提示:如果你使用 SSH 克隆 GitHub 仓库,那么你可以使用 SSH 密钥进行身份验证,而不是使用其他凭据。有关设置 SSH 连接的信息,请参阅“使用 SSH 连接到 GitHub”。

GitHub CLI

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

  1. 安装 macOS、Windows 或 Linux 上的 GitHub CLI。
  2. 在命令行中,输入 gh auth login,然后按照提示进行操作。
    • 在提示你选择 Git 操作的首选协议时,选择 HTTPS
    • 在询问你是否希望使用 GitHub 凭据对 Git 进行身份验证时,输入 Y

有关使用 GitHub CLI 进行身份验证的更多信息,请参阅 gh auth login

Git Credential Manager

Git Credential Manager (GCM) 是另一种安全存储凭据并通过 HTTPS 连接到 GitHub 的方式。使用 GCM,您不必手动创建并存储个人访问令牌,因为 GCM 会代表您管理身份验证,包括 2FA(两因素身份验证)。

  1. 使用 Homebrew 安装 Git

    brew install git
    
  2. 使用 Homebrew 安装 GCM

    brew install --cask git-credential-manager
    

对于 macOS,您无需运行 git config,因为 GCM 会自动为您配置 Git。

下次您克隆需要身份验证的 HTTPS URL 时,Git 会提示您使用浏览器窗口登录。您可能首先会被要求授权一个 OAuth 应用程序。如果您的帐户或组织需要两因素身份验证,您还需要完成 2FA 挑战。

成功验证后,您的凭据将存储在 macOS 钥匙串中,并且每次克隆 HTTPS URL 时都会使用这些凭据。除非您更改凭据,否则 Git 不会要求您再次在命令行中输入凭据。

  1. 安装包含 GCM 的 Git for Windows。有关更多信息,请参阅其发行页上的“Git for Windows 发行版”。

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

下次您克隆需要身份验证的 HTTPS URL 时,Git 会提示您使用浏览器窗口登录。您可能首先会被要求授权一个 OAuth 应用程序。如果您的帐户或组织需要两因素身份验证,您还需要完成 2FA 挑战。

成功验证后,您的凭据将存储在 Windows 凭据管理器中,并且每次克隆 HTTPS URL 时都会使用这些凭据。除非您更改凭据,否则 Git 不会要求您再次在命令行中输入凭据。


警告:较旧版本的 Git for Windows 附带 Git Credential Manager for Windows。此较旧产品不再受支持,无法通过 OAuth 连接到 GitHub。我们建议您升级到最新版本的 Git for Windows

警告:如果您在 Windows 凭据管理器中缓存了不正确或过时的凭据,Git 将无法访问 GitHub。要重置缓存的凭据,以便 Git 提示您输入凭据,请访问 Windows 控制面板中的用户帐户 > 凭据管理器中的凭据管理器。查找 GitHub 条目并将其删除。

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

  1. 从发行版的打包系统安装 Git。说明会因您运行的 Linux 版本而异。

  2. 安装 GCM。请参阅 GCM 仓库中的说明,因为它们会因您运行的 Linux 版本而异。

  3. 配置 Git 以使用 GCM。有几个后备存储可供选择,因此请参阅 GCM 文档以完成设置。有关更多信息,请参阅“GCM Linux”。

下次您克隆需要身份验证的 HTTPS URL 时,Git 会提示您使用浏览器窗口登录。您可能首先会被要求授权一个 OAuth 应用程序。如果您的帐户或组织需要两因素身份验证,您还需要完成 2FA 挑战。

成功进行身份验证后,您的凭据将存储在您的系统上,并且每次克隆 HTTPS URL 时都会使用。除非您更改凭据,否则 Git 不会要求您再次在命令行中输入凭据。

有关在 Linux 上存储凭据的更多选项,请参阅 Pro Git 中的 凭据存储


有关 GCM 的更多信息或报告问题,请参阅“Git 凭据管理器”中的官方 GCM 文档。