我注意到,在最新版本的Git中,默认现在是弹出一个“Git凭证管理器for Windows”对话框,而不是每次在Bash提示符中提示我输入密码。
我真的很讨厌这种行为。我如何禁用它,然后回到每次在Bash shell中输入密码?
顺便说一下,我不希望Git以任何方式缓存我的凭据,无论是通过Windows凭据还是一些内部守护进程。我想禁用所有凭据缓存。
我注意到,在最新版本的Git中,默认现在是弹出一个“Git凭证管理器for Windows”对话框,而不是每次在Bash提示符中提示我输入密码。
我真的很讨厌这种行为。我如何禁用它,然后回到每次在Bash shell中输入密码?
顺便说一下,我不希望Git以任何方式缓存我的凭据,无论是通过Windows凭据还是一些内部守护进程。我想禁用所有凭据缓存。
当前回答
为了防止对话,请使用git config——global credential。modalPrompt假
这将把查询驱动到控制台。
其他回答
好吧,我发现你需要避免在Git for Windows安装过程中选中“Git Credential Manager”复选框,或者(在安装之后)以管理员身份运行Bash shell,并使用Git config——edit——system删除helper = Manager行,以便它不再注册为凭据助手。
为了加分,使用git config -edit -global并插入:
[core]
askpass =
要禁用OpenSSH凭证也弹出。
我在Ubuntu 18.10 (Cosmic Cuttlefish)上遇到了同样的问题,无法使用任何正常方法删除。 我使用git config -global -unset credential。帮手,这似乎奏效了。
对于前面答案中的提示无法解决的问题:
我使用
git credential-manager remove -force
我想使用凭据管理器进行正常使用,但我有脚本,我显然不希望从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,但它永远不会提示您;它将只查找凭据,这在非交互式环境中非常有用。
为了防止对话,请使用git config——global credential。modalPrompt假
这将把查询驱动到控制台。