【问题标题】:GIT credentials disappearing from Windows Credential ManagerGIT 凭据从 Windows 凭据管理器中消失
【发布时间】:2020-12-22 17:56:24
【问题描述】:

我一直在处理我的 GIT 凭据在约 24 小时内从 Windows 凭据管理器中删除的问题。截至今天(12/22 - 2.29.2),我正在使用最新版本的 GIT,但我什至不知道删除是由 GIT 凭据管理器(核心)本身还是其他什么触发的。

这是我目前观察到的:

每当我在一天中第一次运行 GIT 命令(比如说 GIT PULL)时,都会创建一个 PAT(个人访问令牌)。它在一年内到期。在下面的示例中,我使用 ADO (Azure DevOps) 作为我的存储库:

如果我启动 Windows 凭据管理器(控制面板\所有控制面板项\凭据管理器),我会看到:

但是,在大约 24 小时内,这个存储的凭据将会消失,并且会提示我再次进行身份验证,这很烦人。关于可能导致此问题的任何线索?

这是我在我的 SYSTEM gitconfig 文件中的内容 - 它是在安装 GIT 时自动提供的:

关于如何避免凭据被删除的任何想法,我将不胜感激!

谢谢!

【问题讨论】:

  • 嗨@乔纳森。您可以参考答案中的故障排除步骤,并检查他们是否可以进行一些更改。我刚刚将我的 git 版本升级到 2.29.2。所以暂时没有出现同样的问题。我会继续尝试重现这个问题(24小时后)。
  • 嗨凯文,我会试一试!您可以尝试使用 helper = manager-core(默认为 2.29.2)吗?我刚刚在这里尝试了 git push,系统提示我再次输入我的 Azure 凭据。
  • 当然。我保持系统 gitconfig 文件具有相同的设置。答案中的 gitconfig 文件位于当前用户文件夹中。根据我的测试,GIT 凭据在 24 小时后仍然存在。
  • Kevin,你能用与我相同的设置进行测试吗(“凭据”部分的相同 gitconfig 条目 - 你可以在问题描述中找到我正在使用的那些)?大约 24 小时后我一直丢失我保存的凭据,我想知道这是 GIT 引入的东西(希望可以调整)还是这里发生了其他事情。到目前为止我所知道的是,重新启动不会导致凭据消失,这是预期的行为。
  • 我已经使用相同的 gitconfig 设置进行了测试,并且 24 小时后凭据没有被删除。如果手动添加凭证,24小时后会被删除吗?

标签: git azure azure-devops credentials git-credential-manager


【解决方案1】:

我检查了我本地的git凭证(git版本:git版本2.29.2.windows.3),凭证暂时没有消失。

您可以尝试以下步骤来检查凭据是否可以按预期工作。

1.您可以手动在本地计算机上为 Azure Devops Git 创建凭据。

Windows 凭据管理器 -> 添加通用凭据

Internet 或网络地址格式:git:https://dev.azure.com/organizationname

2.您可以在C:\Users\TargetUser中找到.gitconfig文件内容。然后您可以检查凭据是否为存储模式。

[credential]
    helper = store

如果没有,您可以运行以下命令来创建它并检查凭据是否在 24 小时后仍然被删除。

git config --global credential.helper store

3.我也在 git 版本 2.28.0 上测试了相同的步骤,它也可以正常工作。您可以尝试安装以前版本的 git 并尝试它是否有效。

补充信息:在我的本地机器上,即使PAT已经过期,git凭证也不会被自动删除。

另一方面,您也可以尝试使用 SSH 密钥身份验证来解决问题。

您可以参考this doc了解更多详细信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-15
    • 2016-02-07
    • 2011-11-02
    相关资源
    最近更新 更多