跳至主要内容

在 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 的 Windows 版 Git。有关更多信息,请参阅其发行说明页面上的“Windows 版 Git 发行说明”。

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

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

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


警告

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

警告

如果您在 Windows 版 Credential Manager 中缓存了不正确或过时的凭据,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 的更多信息或要报告 GCM 的问题,请参阅 GCM 官方文档“Git Credential Manager”。