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

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

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


当前回答

我可以使用卸载选项卸载Git Credential Manager for Windows:

git-credential-manager.exe uninstall

在C:\Program Files\Git\mingw64\libexec\git-core中执行该命令

其他回答

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

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

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

如果你注意到当你使用JetBrains IDE(如IntelliJ IDEA, PhpStorm, WebStorm, PyCharm, Rider, RubyMine, Android Studio或Goland)时弹出凭据管理器UI,请这样做:

在你的IDE中,打开菜单文件→设置→版本控制→Git。 禁用使用凭据帮助器: 别忘了按Save键。

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

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

我想使用凭据管理器进行正常使用,但我有脚本,我显然不希望从git.exe中得到任何提示。这是我如何从我的脚本调用Git:

set GIT_TERMINAL_PROMPT=0
git -c core.askpass= -c credential.helper= <command> ...

这样,脚本总能看到“正确的”无提示设置,而不必调整任何配置。

(Git for Windows 2.13.3)


我发现的一个变体可能也很方便,那就是设置:

set GCM_INTERACTIVE=never
# Or: git config --global credential.interactive never

set GIT_TERMINAL_PROMPT=0
git.exe -c core.askpass= -c credential.helper=manager <command> ...

但是请注意git.exe -c credential.interactive=never <命令>… 不工作(似乎-c的东西没有路由到Git凭证管理器的Windows或其他)。

这样,您可以使用GCMfW,但它永远不会提示您;它将只查找凭据,这在非交互式环境中非常有用。