关于身份验证
为了保障帐户安全,在使用 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
此错误可能由多个事件引起。
如果修改了命令处理器
注册表项,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 中创建用户帐户”。