如何更新Git命令行credential.helper配置适配GitHub PAT验证
解决方案
问题的核心是store模式下缓存的旧密码还保存在本地凭证文件中,重新启用store后会优先读取旧凭证导致验证失败,按以下步骤操作即可解决:
方式一:手动清理旧凭证(最直观)
- 找到
store模式的默认凭证存储文件:- Linux/macOS 路径:
~/.git-credentials - Windows 路径:
C:\Users\你的用户名\.git-credentials
- Linux/macOS 路径:
- 打开该文件,删除所有
github.com相关的行(格式通常为https://旧用户名:旧密码@github.com),保存退出 - 重新启用全局store凭证缓存:
git config --global credential.helper store - 下次执行
git pull/git push操作时,用户名输入GitHub账号名,密码输入你生成的PAT,本次输入的PAT会自动存入凭证文件,后续操作无需重复输入
方式二:通过Git命令删除旧凭证(无需手动修改文件)
- 执行凭证删除命令:
git credential reject
- 在命令行交互界面依次输入以下内容,每输完一行按回车:
protocol=https host=github.com
- 输入完成后再按一次回车,所有GitHub相关的旧凭证就会被清除
- 后续操作和方式一一致,启用
store后输入一次PAT即可完成永久缓存
可选优化(更安全的存储方式)
store模式会明文存储PAT,若有安全顾虑可更换对应系统的加密凭证助手:
- macOS:
git config --global credential.helper osxkeychain - Windows:
git config --global credential.helper wincred - Linux:
git config --global credential.helper libsecret
替换后操作逻辑和store完全一致,仅存储方式改为系统加密存储,安全性更高。
内容的提问来源于stack exchange,提问作者villaa
相关产品推荐
相关产品推荐

