提示
如果您使用 SSH 克隆 GitHub 仓库,则可以使用 SSH 密钥进行身份验证,而无需使用其他凭据。有关设置 SSH 连接的信息,请参阅 使用 SSH 连接到 GitHub。
GitHub CLI
当您在 Git 操作中选择 HTTPS 作为首选协议,并对提示是否使用 GitHub 凭据对 Git 进行身份验证的询问回答“yes”时,GitHub CLI 将自动为您存储 Git 凭据。
- 安装 GitHub CLI 于 macOS、Windows 或 Linux。
- 在命令行中,输入
gh auth login,然后按照提示操作。- 在提示选择 Git 操作的首选协议时,选择
HTTPS。 - 在询问是否使用 GitHub 凭据对 Git 进行身份验证时,输入
Y。
- 在提示选择 Git 操作的首选协议时,选择
有关使用 GitHub CLI 进行身份验证的更多信息,请参阅 gh auth login。
Git Credential Manager
Git Credential Manager(GCM)是另一种安全存储凭据并通过 HTTPS 连接到 GitHub 的方式。使用 GCM,您无需手动创建和存储个人访问令牌,因为 GCM 代表您管理身份验证,包括两因素认证(2FA)。
-
使用 Homebrew 安装 Git
brew install git -
使用 Homebrew 安装 GCM
brew install --cask git-credential-manager
对于 macOS,您无需运行 git config,因为 GCM 会自动为您配置 Git。
下次克隆需要身份验证的 HTTPS URL 时,Git 将提示您使用浏览器窗口登录。您可能首先需要授权一个 OAuth 应用程序。如果您的账户或组织需要 双因素认证,您还需要完成 2FA 挑战。
提示
如果您是使用企业托管用户(Enterprise Managed Users)的企业成员,则企业视图的屏幕顶部会显示 “Users managed by ACCOUNT NAME”(由 ACCOUNT NAME 管理的用户)标题栏。在这种情况下,您需要在 GCM 本地禁用账户过滤,以防每次执行远程 Git 操作时都被提示进行身份验证。有关更多细节,请参阅 git-credential-manager 仓库。
要配置 Git Credential Manager,请运行以下命令
git config --global credential.gitHubAccountFiltering "false"
认证成功后,您的凭据将存储在 macOS 钥匙串中,并在每次克隆 HTTPS URL 时使用。除非更改凭据,否则 Git 不会再要求您在命令行中输入凭据。
- 安装包含 GCM 的 Git for Windows。更多信息请参阅其 Git for Windows 发行版及其 发行页面。
我们建议始终安装最新版本。至少应安装 2.29 或更高版本,这是首次支持 GitHub OAuth 的版本。
下次克隆需要身份验证的 HTTPS URL 时,Git 将提示您使用浏览器窗口登录。您可能首先需要授权一个 OAuth 应用程序。如果您的账户或组织需要 双因素认证,您还需要完成 2FA 挑战。
提示
如果您是使用企业托管用户(Enterprise Managed Users)的企业成员,则企业视图的屏幕顶部会显示 “Users managed by ACCOUNT NAME”(由 ACCOUNT NAME 管理的用户)标题栏。在这种情况下,您需要在 GCM 本地禁用账户过滤,以防每次执行远程 Git 操作时都被提示进行身份验证。有关更多细节,请参阅 git-credential-manager 仓库。
要配置 Git Credential Manager,请运行以下命令
git config --global credential.gitHubAccountFiltering "false"
认证成功后,您的凭据将存储在 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。
-
从您发行版的包管理系统安装 Git。具体指令会因您使用的 Linux 发行版而异。
-
安装 GCM。请参阅 GCM 仓库中的说明,因为它们会因您使用的 Linux 发行版而异。
-
配置 Git 使用 GCM。您可以从多种后端存储中进行选择,请查阅 GCM 文档完成设置。更多信息请参阅 GCM Linux。
下次克隆需要身份验证的 HTTPS URL 时,Git 将提示您使用浏览器窗口登录。您可能首先需要授权一个 OAuth 应用程序。如果您的账户或组织需要 双因素认证,您还需要完成 2FA 挑战。
提示
如果您是使用企业托管用户(Enterprise Managed Users)的企业成员,则企业视图的屏幕顶部会显示 “Users managed by ACCOUNT NAME”(由 ACCOUNT NAME 管理的用户)标题栏。在这种情况下,您需要在 GCM 本地禁用账户过滤,以防每次执行远程 Git 操作时都被提示进行身份验证。有关更多细节,请参阅 git-credential-manager 仓库。
要配置 Git Credential Manager,请运行以下命令
git config --global credential.gitHubAccountFiltering "false"
认证成功后,您的凭据将存储在系统中,并在每次克隆 HTTPS URL 时使用。除非更改凭据,否则 Git 不会再要求您在命令行中输入凭据。
有关在 Linux 上存储凭据的更多选项,请参阅 Pro Git 中的 Credential Storage。
欲获取更多信息或报告 GCM 问题,请查看官方 GCM 文档:Git Credential Manager。