问题描述
我一直在处理我的 GIT 凭据在大约 24 小时内从 Windows 凭据管理器中删除的问题。截至今天(12/22 - 2.29.2),我使用的是最新版本的 GIT,但我什至不知道删除是由 GIT 凭证管理器(核心)本身还是其他原因触发的。
这是我目前观察到的:
每当我在一天中第一次运行 GIT 命令时(比如 GIT PULL),都会创建一个 PAT(个人访问令牌)。它在一年内到期。在下面的示例中,我使用 ADO (Azure DevOps) 作为我的存储库:
如果我启动 Windows 凭据管理器(控制面板\所有控制面板项目\凭据管理器),我会看到:
但是,在大约 24 小时后,此存储的凭据将消失,系统将提示我再次进行身份验证,这很烦人。关于可能导致这种情况的任何线索?
这是我的 SYstem gitconfig 文件中的内容 - 安装 GIT 时自动提供:
有关如何避免凭据被删除的任何想法,我将不胜感激!
谢谢!
解决方法
我已经检查了我本地的 git 凭据(git 版本:git 版本 2.29.2.windows.3)并且凭据暂时没有消失。
您可以尝试以下步骤来检查凭据是否可以按预期工作。
1.您可以手动在本地计算机上为 Azure Devops Git 创建凭据。
Windows 凭据管理器 -> 添加通用凭据
互联网或网络地址格式: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了解更多详细信息。