使用git Credential fill命令时,从Windows凭据管理器删除凭据时仍显示凭据

使用git Credential fill命令时,从Windows凭据管理器删除凭据时仍显示凭据,git,git-credential-manager,Git,Git Credential Manager,我正在运行最新的适用于Windows 2.29.2的Git,对我来说,凭证。默认情况下,helper设置为管理器核心。我确认运行git config--system--list 我想为任何git操作w.r.t GitHub实现基于令牌的身份验证。因此,我继续从控制面板->凭证管理器->Windows凭证->通用凭证中删除了凭证(最初是用户名/密码组合)。 然后我执行命令: git credential fill protocol=https host=github.com` <HIT EN

我正在运行最新的适用于Windows 2.29.2的Git,对我来说,
凭证。默认情况下,helper
设置为
管理器核心。我确认运行
git config--system--list

我想为任何git操作w.r.t GitHub实现基于令牌的身份验证。因此,我继续从
控制面板->凭证管理器->Windows凭证->通用凭证中删除了凭证(最初是用户名/密码组合)。
然后我执行命令:

git credential fill
protocol=https
host=github.com`
<HIT ENTER KEY TWICE, as A blank line signals input completion>
git凭证填充
协议=https
host=github.com`
令我惊讶的是,上面的命令仍然返回凭据。我回到控制面板,确认它是否已被删除,并且我无法看到凭据,即它们已被删除

那么,为什么上面的命令成功地返回了凭据。据我所知,git也会在内存中缓存15分钟的凭据。但是,上面的命令在几个小时后仍然返回凭据。我试着打开新的提示,但直到今天运气都不好。大约一天后,我碰巧注意到这种行为不再是可复制的

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

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

git-config——系统列表只显示系统级配置,请尝试
git-config-list——显示源代码


您可以在不同的配置级别配置多个凭据帮助程序,如果前一个没有返回凭据,git将依次使用它们,听起来您可能在其他地方配置了另一个凭据帮助程序,这确实有意义。但是,运行
git config--list--show origin
只返回一次出现的
credential.helper
,值为
manager core
。我没有尝试此命令,但我尝试运行了
git config--list
git config--global--list
,但从未多次出现
credential.helper