繁体   English   中英

使用 git 凭据填充命令时,从 Windows 凭据管理器中删除凭据仍然显示凭据

[英]Deleting the credentials from Windows Credential Manager still displayed credentials when using git credential fill command

我正在运行最新的Git For Windows 2.29.2 ,对我来说credential.helper默认设置为manager-core 我确实确认运行git config --system --list

我想为任何 git 操作 w.r.t GitHub 实现基于令牌的身份验证。 所以我继续从Control-Panel-> Credential manger -> Windows Credential -> Generic Credentials中删除了凭据(最初是用户名/密码组合)。 然后我执行了命令:

git credential fill
protocol=https
host=github.com`
<HIT ENTER KEY TWICE, as A blank line signals input completion>

令我惊讶的是,上面的命令仍然返回凭据。 我回到控制面板并确认它是否被删除并且我看不到凭据,即它们已经被删除。

为什么上面的命令成功地返回了凭据。 据我所知,git 在 memory 中也会缓存 15 分钟的凭据。 然而,上面的命令在几个小时后仍然返回了凭据。 我尝试打开新的提示,但直到今天才走运,大约一天后我碰巧注意到该行为不再可重现。

现在它按预期工作,即如果我从控制面板的凭据管理器中删除凭据,则git credential fill无法返回任何凭据,而是提示我输入凭据。

为什么即使我在几个小时后尝试, git credential fill返回凭证? 我只是无法理解这种行为。

git config --system list仅显示系统级配置,尝试git config list --show-origin代替。

您可以在不同的配置级别配置多个凭证助手,如果前一个不返回凭证,git 将依次使用它们,听起来您可能在其他地方配置了另一个

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM