在使用 git bash 推送远程存储库时,需要并询问我的密码。这不是问题。
问题是我习惯于在 git 控制台中输入密码,但后来我从 Linux 切换到 Windows,我的密码被询问到提示框而不是控制台。
我发现它不太方便:我必须等待它出现一秒钟,有时我会失去焦点。
奇怪的是,如果我关闭对话框,则会从 git 控制台中询问密码。这就是我要找的。
你知道我怎么能阻止这个框被提示,让我在控制台中输入我的密码,好吗?我应该修改一些 git 选项吗?
在使用 git bash 推送远程存储库时,需要并询问我的密码。这不是问题。
问题是我习惯于在 git 控制台中输入密码,但后来我从 Linux 切换到 Windows,我的密码被询问到提示框而不是控制台。
我发现它不太方便:我必须等待它出现一秒钟,有时我会失去焦点。
奇怪的是,如果我关闭对话框,则会从 git 控制台中询问密码。这就是我要找的。
你知道我怎么能阻止这个框被提示,让我在控制台中输入我的密码,好吗?我应该修改一些 git 选项吗?
这似乎与git-configcore.askPass
的选项有关。
文档说:
core.askPass
一些交互询问密码的命令(例如 svn 和 http 接口)可以被告知使用通过这个变量的值给出的外部程序。可以被GIT_ASKPASS 环境变量覆盖。如果未设置,则回 退到 SSH_ASKPASS环境变量的值,或者,如果失败,则使用简单的密码提示。外部程序应给出适当的提示符作为命令行参数,并在其 STDOUT 上写入密码。
我的默认配置不包含有关此选项的任何内容,因此我猜它会退回到“简单密码提示”。
要覆盖此行为,我只需将选项设置为空字符串:
git config --global core.askPass ''
然后,从控制台询问密码而不提示任何内容。
如果您将代码推送到您通常使用的存储库,我建议您使用公钥而不是密码来验证自己。如果这样做,您将不会被一遍又一遍地要求输入密码,无论是在控制台还是在提示符中