关于身份验证
为了确保帐户安全,你必须先进行身份验证,然后才能使用 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.)
此错误表示你无权访问你尝试克隆的仓库。
要进行故障排除,请联系组织中管理权限的人员。
无法从远程仓库读取
git@github.com: 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 'git@github.com:<user>/<repo>' into submodule path '<path>' failed
Failed to clone 'src/github.com/<user>/<repo>'. Retry scheduled
Cloning into '<path>'...
git@github.com: 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 中创建用户帐户”。