使用git Credential fill命令时,从Windows凭据管理器删除凭据时仍显示凭据
我正在运行最新的适用于Windows 2.29.2的Git,对我来说,使用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
凭证。默认情况下,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
。