Visual Studio 2019 内置Git执行Pull/Push命令报错的配置解决方案
解决Visual Studio 2019内置Git的HTTP凭证读取问题
我之前也踩过这个坑——VS2019自带的旧版Git和Git Credential Manager Core配合出问题,导致拉取推送时总是报凭证读取错误。下面几个方法应该能帮你彻底解决,不用每次更新VS后都去删文件夹:
方法1:让VS直接用系统默认的Git(最省心的方案)
既然你系统里的Git(2.32.0)已经能正常访问BitBucket,那直接让VS用它就行,后续VS更新也不会改这个设置:
- 打开VS2019,点击顶部菜单栏的工具 > 选项
- 在左侧菜单展开源代码管理,选择Git全局设置
- 在Git可执行文件路径这一项,浏览选择系统Git的路径:
C:\Program Files\Git\cmd\git.exe - 点击确定,重启VS后就生效了,以后VS会默认用这个正常的Git版本
方法2:修复内置Git的凭证助手配置
如果你非要用VS内置的Git,那可以手动给它绑定正确的凭证管理器:
- 打开命令提示符(CMD),先切换到VS内置Git的命令行目录:
cd "C:\program files (x86)\microsoft visual studio\2019\professional\common7\ide\commonextensions\microsoft\teamfoundation\team explorer\Git\cmd" - 执行命令,给这个Git实例指定全局的凭证助手(确保它指向manager-core):
如果全局配置已经设了但内置Git还是读不到,可能需要指定manager-core的完整路径(替换成你实际的路径):git config --global credential.helper "manager-core"git config --global credential.helper "'C:\Program Files\Git\mingw64\libexec\git-core\git-credential-manager-core.exe'" - 另外可以检查VS内置Git的环境变量:在VS的终端里输入
echo %PATH%,看看有没有包含Git Credential Manager Core所在的目录,要是没有,手动把该目录加到系统PATH里也行
方法3:手动替换内置Git为兼容版本(临时方案)
这个方法适合不想改VS设置的情况,但缺点是VS更新后会被覆盖:
- 下载和你系统Git同版本(2.32.0.windows.1)的32位Git压缩包(因为VS内置的是x86版本)
- 关闭VS,备份内置Git的原文件夹,然后把下载的Git文件解压替换进去
- 重启VS测试,这样内置Git就变成兼容版本了,能正常用凭证管理器
额外排查小技巧
- 确认你的BitBucket HTTP访问没问题:用系统Git能正常拉推,说明服务器和凭证本身是好的
- 检查全局Git配置文件(
C:\Users\[你的用户名]\.gitconfig),确保credential.helper只有manager-core这一项,没有其他冲突的配置 - 在VS的终端里手动执行
git fetch,如果没弹出凭证输入框,那肯定是凭证管理器没被正确触发,回到上面的配置步骤检查
内容的提问来源于stack exchange,提问作者KirEvse




