执行git push origin +HEAD后,每次git push终端均要求输入密码
解决Linux下Git HTTPS推送突然要求重复输入凭证的问题
可能的触发原因
你这次使用的git push origin +HEAD是强制推送操作,部分代码托管平台对这类高风险操作会触发额外权限校验,导致之前缓存的凭证未被复用;另外也可能是Git的凭证缓存刚好过期,或者IDE与终端的凭证存储不共享导致终端缓存失效。
解决步骤
检查当前凭证助手配置
先确认Git使用的凭证管理工具,执行:git config --global credential.helper输出如果是
cache,说明默认只缓存15分钟,过期后就会要求重新输入;如果是store,会明文存储凭证(不推荐);Linux下更安全的选项是libsecret,它会集成系统密钥环。配置持久化安全凭证助手(推荐)
换成libsecret来永久安全存储凭证,执行:git config --global credential.helper libsecret配置完成后,下次推送时输入一次PAT,后续Git会自动从系统密钥环读取,无需重复输入。
清除并刷新缓存
如果当前用的是cache助手,先手动清除过期缓存:git credential-cache exit重新执行推送操作,输入PAT后新的凭证会被重新缓存。
验证远程仓库地址
确认远程地址未被意外修改,执行:git remote -v确保显示的是正确的HTTPS仓库地址,没有异常变更。
检查PAT有效性
如果使用的是代码托管平台的个人访问令牌(PAT),确认令牌未过期且拥有repo类权限(私有仓库需此权限),若令牌失效,重新生成后替换使用。
内容的提问来源于stack exchange,提问作者Alex Braga
相关产品推荐
相关产品推荐

