我注意到,在最新版本的Git中,默认现在是弹出一个“Git凭证管理器for Windows”对话框,而不是每次在Bash提示符中提示我输入密码。

我真的很讨厌这种行为。我如何禁用它,然后回到每次在Bash shell中输入密码?

顺便说一下,我不希望Git以任何方式缓存我的凭据,无论是通过Windows凭据还是一些内部守护进程。我想禁用所有凭据缓存。


当前回答

我们一直在纠结这个问题。当我们试图从Git存储库克隆代码时,没有提示(要求)Git用户名和密码,它开始克隆代码,最终由于身份验证失败而失败。甚至凭证没有设置和第一次使用Git克隆。

解决方案:运行该命令,它可以完美地工作。

git config --system --unset credential.helper

其他回答

好吧,我发现你需要避免在Git for Windows安装过程中选中“Git Credential Manager”复选框,或者(在安装之后)以管理员身份运行Bash shell,并使用Git config——edit——system删除helper = Manager行,以便它不再注册为凭据助手。

为了加分,使用git config -edit -global并插入:

[core]
    askpass =

要禁用OpenSSH凭证也弹出。

如果:wq不像我的情况下,使用ctrl+z中止和退出,但这些可能会使多个备份文件工作稍后- Adeem 1月19日9:14

另外,一定要以管理员身份运行Git !否则文件将不会被保存(在我的情况下)。

如果您不想删除或卸载凭据管理器:请参阅https://serverfault.com/questions/544156/git-clone-fail-instead-of-prompting-for-credentials/1054253#answer-1054253以获得适合我的解决方案。

说明等,在该页面(链接,以防止重复的内容在同一网站家族)。


TL;DR:这现在位于我的自动bash脚本之上:

# https://serverfault.com/questions/544156/git-clone-fail-instead-of-prompting-for-credentials
export GIT_TERMINAL_PROMPT=0
# next env var doesn't help...
export GIT_SSH_COMMAND='ssh -oBatchMode=yes'
# these should shut up git asking, but only partly: the X-windows-like dialog doesn't pop up no more, but ...
export GIT_ASKPASS=echo
export SSH_ASKPASS=echo
# We needed to find *THIS* to shut up the bloody git-for-windows credential manager: 
# https://stackoverflow.com/questions/37182847/how-do-i-disable-git-credential-manager-for-windows#answer-45513654
export GCM_INTERACTIVE=never

证书管理器棺材上的最后一颗钉子是Martin Ba上面回答的唯一的位(GCM_INTERACTIVE):我如何禁用Windows的Git证书管理器?

在“user”文件夹下,c://user,,查看“。文件,然后删除HTTP和代理行。

我不得不使用VSTS的另一个选项:

Git配置——全局凭据。modalprompt假