Git突然无法自动认证GitHub 每次pull/push需手动输入凭据
故障原因
这个报错是Git for Windows 2.45及之后版本默认启用wincredman凭据存储带来的兼容问题:新版默认调用Windows自带的Web Account Manager服务持久化Git凭据,只要系统存在组策略限制WAM调用、TPM/设备加密权限异常、旧凭据条目损坏的情况,就会触发凭据无法保存的报错。之前取消凭据管理器配置的操作,相当于直接关闭了Git自动存储凭据的功能,所以每次执行pull/push都需要手动输入用户名和PAT。
修复步骤
- 先清空全局配置里所有错误的凭据助手设置,打开任意终端执行命令:
git config --global --unset-all credential.helper - 将凭据助手切换为经过长期兼容性验证的经典
wincred组件,执行命令:git config --global credential.helper wincred - 打开Windows系统自带的「凭据管理器」,选择「Windows凭据」分类,找到所有条目名以
git:https://github.com开头的凭据记录,全部删除,避免残留的损坏记录干扰认证流程。 - 进入任意本地关联GitHub远程仓库的目录,执行一次
git pull origin main,在弹出的系统认证窗口中输入你的GitHub用户名,密码栏填入具备repo操作权限的PAT即可。这次输入的凭据会被自动持久化到Windows凭据存储中,后续所有pull/push操作无需重复输入认证信息。
配置验证
修复完成后执行git config --global --get credential.helper,如果返回值为wincred即代表配置生效,后续操作不会再触发wincredman相关报错,也不需要重复输入认证信息。
内容的提问来源于stack exchange,提问作者BardYoren
相关产品推荐
相关产品推荐

