关于身份验证
为确保帐户安全,您必须先进行身份验证,然后才能使用 GitHub Desktop 访问 GitHub 上的资源。
在进行身份验证之前,您必须已经在 GitHub 上拥有一个帐户。有关更多信息,请参阅“在 GitHub 上创建帐户”。
验证您的 GitHub 帐户
-
在菜单栏中,选择 **GitHub Desktop**,然后单击 **设置**。
-
在“设置”窗口的 **帐户** 面板中,单击相应的“登录”按钮。使用 **登录 GitHub Enterprise** 登录到具有数据驻留功能的 GitHub Enterprise Server 或 GitHub Enterprise Cloud。
-
如果您要登录 GitHub Enterprise 上的帐户,请在“登录”模式窗口中键入访问 GitHub 的 URL,然后单击 **继续**。
-
在“使用浏览器登录”模式窗口中,单击 **使用浏览器继续**。GitHub Desktop 将打开您的默认浏览器。
-
要在 GitHub 上进行身份验证,请在浏览器中键入您的凭据,然后单击 **登录**。
或者,如果您已经登录到 GitHub,请按照提示返回 GitHub Desktop 以完成身份验证。
-
如果您已为 GitHub 配置两因素身份验证 (2FA),请执行以下操作之一:
- 如果您通过短信设置了 2FA,请从短信中检索您的 2FA 代码。
- 如果您使用 TOTP 应用程序设置了 2FA,请生成 2FA 代码。
然后在 GitHub 上的提示中输入您的 2FA 代码,然后单击 **验证**。
-
GitHub 验证您的帐户后,请按照提示返回 GitHub Desktop。
验证您的 GitHub 帐户
-
使用 **文件** 菜单,然后单击 **选项**。
-
在“选项”窗口的 **帐户** 面板中,单击相应的“登录”按钮。使用 **登录 GitHub Enterprise** 登录到具有数据驻留功能的 GitHub Enterprise Server 或 GitHub Enterprise Cloud。
-
如果您要登录 GitHub Enterprise 上的帐户,请在“登录”模式窗口中键入访问 GitHub 的 URL,然后单击 **继续**。
-
在“使用浏览器登录”模式窗口中,单击 **使用浏览器继续**。GitHub Desktop 将打开您的默认浏览器。
警告
不支持使用用户名和密码验证 GitHub 身份。我们需要改为使用浏览器进行身份验证。
-
要在 GitHub 上进行身份验证,请在浏览器中键入您的凭据,然后单击 **登录**。
或者,如果您已经登录到 GitHub,请按照提示返回 GitHub Desktop 以完成身份验证。
-
如果您已为 GitHub 配置两因素身份验证 (2FA),请执行以下操作之一:
- 如果您通过短信设置了 2FA,请从短信中检索您的 2FA 代码。
- 如果您使用 TOTP 应用程序设置了 2FA,请生成 2FA 代码。
然后在 GitHub 上的提示中输入您的 2FA 代码,然后单击 **验证**。
-
GitHub 验证您的帐户后,请按照提示返回 GitHub Desktop。
排查身份验证问题
如果 GitHub Desktop 遇到身份验证错误,您可以使用错误消息进行排查。
如果遇到身份验证错误,请首先尝试注销并重新登录您的 GitHub Desktop 帐户。
对于某些错误,GitHub Desktop 会提示您显示错误消息。如果您没有收到提示,或者要查找有关任何错误的更多信息,请使用以下步骤查看 GitHub Desktop 日志文件。
-
在菜单栏中,选择 **帮助**,然后单击 **在 Finder 中显示日志**。
-
选择您遇到身份验证错误日期的日志文件。
-
使用 **帮助** 下拉菜单,然后单击 **在资源管理器中显示日志**。
-
选择您遇到身份验证错误日期的日志文件。
查看以下针对您遇到的错误消息的故障排除信息。
无效凭据
Error: Bad credentials
此错误表示您的存储帐户凭据存在问题。
要进行故障排除,请注销 GitHub Desktop 上的帐户,然后重新登录。
空令牌
info: [ui] [AppStore.withAuthenticatingUser] account found for repository: node - USERNAME (empty token)
此错误表示 GitHub Desktop 无法找到其在系统密钥链中创建的访问令牌。
要进行故障排除,请注销 GitHub Desktop 上的帐户,然后重新登录。
未找到仓库
fatal: repository 'https://github.com/<user>/<repo>.git' not found
(The error was parsed as 8: The repository does not seem to exist anymore. You may not have access, or it may have been deleted or renamed.)
此错误表示您无权访问您尝试克隆的仓库。
要进行故障排除,请联系您组织中管理权限的人员。
无法从远程仓库读取
[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists.
此错误表示您没有设置有效的 SSH 密钥。
要进行故障排除,请参阅“生成新的 SSH 密钥并将其添加到 ssh 代理”。
克隆失败
fatal: clone of '[email protected]:<user>/<repo>' into submodule path '<path>' failed
Failed to clone 'src/github.com/<user>/<repo>'. Retry scheduled
Cloning into '<path>'...
[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
此错误表示您尝试克隆的仓库存在您无权访问的子模块,或者您没有设置有效的 SSH 密钥。
如果您无权访问子模块,请通过联系管理仓库权限的人员来进行故障排除。
如果您没有设置有效的 SSH 密钥,请参阅“生成新的 SSH 密钥并将其添加到 ssh 代理”。
无法读取 AskPass 响应
error: unable to read askpass response from '/Users/<path>/GitHub Desktop.app/Contents/Resources/app/static/ask-pass-trampoline.sh'
fatal: could not read Username for 'https://github.com': terminal prompts disabled
此错误可能由多个事件引起。
如果修改了 `Command Processor` 注册表项,GitHub Desktop 将返回 `身份验证失败` 错误。要检查这些注册表项是否已被修改,请按照以下步骤操作。
- 打开注册表编辑器 (
regedit.exe
) 并导航到以下位置:HKEY_CURRENT_USER\Software\Microsoft\Command Processor\
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor\
- 检查这两个位置是否存在名为
Autorun
的值。 - 如果存在
Autorun
值,请将其删除。
如果您的Windows用户名包含扩展Unicode字符,可能会导致AskPass响应错误。若要进行故障排除,请创建一个新的Windows用户帐户并将您的文件迁移到该帐户。更多信息,请参阅Microsoft文档中的“在Windows中创建用户帐户”。