如何取消或更新Git中已保存的HTTP凭证?
解决Git旧凭证无法更新的问题
首先得明确,你遇到的核心问题大概率是本地仓库的配置里已经硬编码了带旧凭证的远程地址——这时候光清理credential helper或者全局用户密码根本没用,因为Git直接从本地仓库的remote URL里读取旧的用户名和密码了。
试试下面这些步骤一步步排查解决:
1. 检查并修正本地仓库的远程地址
先确认当前远程仓库的地址是不是带了旧凭证:
git remote -v
如果输出里的URL是https://SAVED-USERNAME:SAVEDPASSWORD@sourcecodeexampleurl.com/repo.git这种格式,直接把它改成不带凭证的干净地址:
git remote set-url origin https://sourcecodeexampleurl.com/repo.git
改完之后,下次执行git pull时Git就会重新提示你输入新凭证了。
2. 彻底清理残留的凭证缓存
如果改完地址还是有问题,就把所有层级的credential配置和缓存彻底清掉:
- 先终止正在运行的credential cache进程(如果有的话):
git credential-cache exit
- 清理全局、本地仓库、系统级的credential helper配置:
git config --global --unset credential.helper git config --local --unset credential.helper git config --system --unset credential.helper
之前你只清理了system级的配置,漏掉了本地仓库和全局的,这可能是凭证残留的原因。
3. 重新设置凭证缓存(可选)
如果之后还需要Git缓存新凭证,再重新配置:
git config credential.helper 'cache --timeout=360000'
4. 验证效果
现在执行git pull,应该会弹出新的凭证输入提示,输入正确的用户名和密码后就能正常拉取代码了。
内容的提问来源于stack exchange,提问作者awm
相关产品推荐
相关产品推荐

