0

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

我想为 GitHub 上的任何 git 操作实现基于令牌的身份验证。所以我继续从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 也会在内存中缓存 15 分钟的凭据。然而,上面的命令在几个小时后仍然返回了凭据。我尝试打开新的提示,但直到今天才走运,大约一天后我碰巧注意到该行为不再可重现。

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

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

4

1 回答 1

1

git config --system list只显示系统级配置,试试吧git config list --show-origin

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

于 2021-03-28T11:55:20.700 回答