VS Code执行git push不弹出密码框 提示认证失败如何解决
解决方案
出现该问题的核心原因是你修改了当前仓库的Git凭证助手配置,优先级高于全局生效的正常配置,导致VS Code内置Git环境调用时无法匹配到适配当前系统的凭证存储工具,而系统终端调用时没有读取到仓库级的错误配置因此可以正常运行。
你可以按照以下步骤修复:
- 清除当前仓库的错误凭证配置
在对应仓库目录下执行命令:
git config --local --unset credential.helper git config --local --unset user.password
这一步会删除你之前在仓库级设置的空凭证助手规则,让Git优先读取全局的正常配置。
- 确认全局凭证助手配置正常
执行命令查看全局凭证助手配置:
git config --global credential.helper
返回结果需要和你的操作系统匹配:
- Windows系统返回
wincred或manager-core - Mac系统返回
osxkeychain - Linux系统返回
libsecret
如果返回为空,执行对应系统的配置命令: - Windows:
git config --global credential.helper manager-core - Mac:
git config --global credential.helper osxkeychain - Linux:
git config --global credential.helper libsecret
- 调整VS Code Git认证配置
打开VS Code设置界面,搜索git.terminalAuthentication,勾选该选项。该配置会让VS Code的Git操作复用系统终端的认证逻辑,和你直接在命令提示符中执行Git命令的效果完全一致。
配置完成后重启VS Code,再次执行推送操作即可正常弹出密码输入框,输入一次后凭证助手会自动存储凭据,后续无需重复输入。
你之前遇到的fatal: credential-cache unavailable; no unix socket support报错,是因为Git在凭证助手配置为空时默认尝试使用缓存模式,而Windows等非Unix系统不支持该模式所需的Unix套接字,清除错误配置后该报错会自动消失。
内容的提问来源于stack exchange,提问作者user3653474
相关产品推荐
相关产品推荐

