📌  相关文章
📜  Git 因致命错误而失败.无法读取密码 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:30:57.192000             🧑  作者: Mango

Git 因致命错误而失败.无法读取密码 - Shell-Bash

当使用Git进行代码提交或拉取时,有时会遇到以下错误消息:

fatal: couldn't read password: No such device

这个问题通常是由于使用了错误的凭据或设置了错误的凭据存储位置导致的。以下是一些可能的解决方案。

清除Git凭据

可能是因为存储在本地的Git凭据已过期或无效,导致尝试从存储库拉取时无法验证用户。清除凭据可能会解决此问题。请在Shell中运行以下命令:

git config --global --unset credential.helper

运行此命令将从配置中删除Git凭据帮助器。在下次使用Git操作时,Git将提示您输入帐户凭据信息。

更改凭据存储

如果您已设置了Git凭据帮助器存储在macOS钥匙链或Windows凭据管理器中,则无法读取密码的问题可能是因为Git没有正确配置帮助器存储设置。请确保已正确配置Credential Helper。在Shell中运行以下命令:

git config --global credential.helper store

此命令将在Git配置文件中设置Credential Helper存储为“store”,它使用纯文本文件存储凭据。当您首次使用Git时,它将提示您输入用户名和密码,并将这些凭据存储在纯文本文件中。这些凭据将保存在本地存储库中,因此不必每次输入它们。

使用SSH

如果您仍然无法从Git存储库中拉取或提交,请尝试使用SSH验证。SSH是一种安全协议,可用于连接到远程服务器或存储库,并验证用户身份。要使用SSH,请按照以下步骤操作:

  1. 在本地计算机上创建新的SSH密钥对。您可以使用以下命令生成SSH密钥对:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  1. 将新的SSH密钥添加到GitHub或其他Git托管服务。在GitHub上,转到Settings > SSH and GPG keys,并将新的RSA公钥添加到列表中。

  2. 配置Git以使用SSH协议。您可以通过更新存储库的远程URL来更新存储库的协议。在Shell中运行以下命令:

git remote set-url origin git@github.com:username/repo.git

这会将存储库的URL更改为使用SSH协议。您必须将“username”和“repo”替换为适当的用户名和存储库名称。

希望这些解决方案可以帮助您解决Git因致命错误而失败的问题。