返回

GitHub 账号切换后无法提交:故障排除指南

前端

问题

在使用 Git 进行版本控制时,您可能会遇到这样的问题:在切换到另一个 GitHub 账号后,无法提交文件,并收到类似于“remote: 拒绝推送”的错误消息。这可能是由多种原因造成的,包括:

  • SSH 密钥未正确配置
  • HTTPS 协议未启用
  • 个人访问令牌 (PAT) 无效
  • 双因素身份验证未正确设置

解决方案

1. 检查 SSH 密钥配置

首先,检查 SSH 密钥是否正确配置。如果您在使用 SSH 协议连接到 GitHub,则需要确保已将公钥添加到您的 GitHub 账户中。

要检查 SSH 密钥配置,请在终端中运行以下命令:

ssh -T git@github.com

如果出现以下提示,则表示 SSH 密钥配置正确:

Hi [your_username]! You've successfully authenticated, but GitHub does not provide shell access.

否则,您需要将公钥添加到 GitHub 账户中。有关如何添加公钥的说明,请参阅 GitHub 文档。

2. 启用 HTTPS 协议

如果 SSH 密钥配置正确,但您仍然无法提交,则可以尝试启用 HTTPS 协议。HTTPS 协议使用用户名和密码进行身份验证,因此您需要确保已在 GitHub 账户中设置了密码。

要启用 HTTPS 协议,请在终端中运行以下命令:

git config --global url."https://".insteadOf git://

3. 检查个人访问令牌 (PAT)

如果您使用的是个人访问令牌 (PAT),则需要确保 PAT 有效且具有必要的权限。您可以通过以下步骤检查 PAT:

  1. 登录您的 GitHub 账户,并导航至“设置”页面。
  2. 在左侧边栏中,点击“开发者设置”。
  3. 在“个人访问令牌”部分,检查您要使用的 PAT 是否有效且具有必要的权限。

如果 PAT 无效或权限不足,则需要创建新的 PAT。有关如何创建 PAT 的说明,请参阅 GitHub 文档。

4. 检查双因素身份验证设置

如果您启用了双因素身份验证,则需要确保已正确设置。在提交代码之前,您需要输入一次性密码 (OTP)。

要检查双因素身份验证设置,请在终端中运行以下命令:

git config --global user.name "[your_username]"

如果出现以下提示,则表示双因素身份验证设置正确:

user.name=[your_username]

否则,您需要在 GitHub 账户中启用双因素身份验证。有关如何启用双因素身份验证的说明,请参阅 GitHub 文档。

总结

通过遵循上述故障排除步骤,您应该能够解决 Git 账号切换后无法提交的问题。如果仍然遇到问题,请参阅 GitHub 文档或寻求社区支持。