Git发生致命错误-无法读取用户名终端提示已禁用。

4

我的本地git可能有什么问题? 五分钟前我还能pull,但突然之间我再试图pull时就要求我输入用户名和密码。我输入了,但是它却给了我这个错误:

Git failed with a fatal error.
could not read Username for 'https://github.com': terminal prompts disabled

我可以登录github.com,但本地登录时它一直要求我输入用户名和密码,并给出上述错误。

注意:使用GitHub桌面版则无问题。

1个回答

2

你或者你使用的某些软件设置了:

GIT_TERMINAL_PROMPT=0

或者:

GIT_TERMINAL_PROMPT=false

在您的环境中,停止这样做,或者让软件停止这样做。 (另请参见go get results in 'terminal prompts disabled' error for github private repoHow do I disable credential prompting for git clone in Go?)

或者,设置您的凭据管理器1来存储或缓存用户名和密码。请小心使用此功能,因为其中许多凭据管理器不安全地存储密码(例如,以明文形式)。

或者,使用ssh而不是https。虽然https身份验证要求Git从凭据管理器获取用户名和密码,但ssh身份验证不需要。


1Git本身不进行任何身份验证。相反,它将其委托给其他程序或库。要使用https身份验证,Git必须调用库例程,为此需要用户名和密码;为了获取用户名和密码,Git调用单独的凭据管理器。有许多凭据管理器,它们既与操作系统相关,也与用户相关,因此您可以选择仅适用于Mac的凭据管理器,或仅适用于Windows系统的凭据管理器。Git还带有一些简单而愚蠢的凭据管理器,它们只将用户名和密码存储在文件中或某些临时存储中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接