You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

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更新也不会改这个设置:

  1. 打开VS2019,点击顶部菜单栏的工具 > 选项
  2. 在左侧菜单展开源代码管理,选择Git全局设置
  3. Git可执行文件路径这一项,浏览选择系统Git的路径:C:\Program Files\Git\cmd\git.exe
  4. 点击确定,重启VS后就生效了,以后VS会默认用这个正常的Git版本

方法2:修复内置Git的凭证助手配置

如果你非要用VS内置的Git,那可以手动给它绑定正确的凭证管理器:

  1. 打开命令提示符(CMD),先切换到VS内置Git的命令行目录:
    cd "C:\program files (x86)\microsoft visual studio\2019\professional\common7\ide\commonextensions\microsoft\teamfoundation\team explorer\Git\cmd"
    
  2. 执行命令,给这个Git实例指定全局的凭证助手(确保它指向manager-core):
    git config --global credential.helper "manager-core"
    
    如果全局配置已经设了但内置Git还是读不到,可能需要指定manager-core的完整路径(替换成你实际的路径):
    git config --global credential.helper "'C:\Program Files\Git\mingw64\libexec\git-core\git-credential-manager-core.exe'"
    
  3. 另外可以检查VS内置Git的环境变量:在VS的终端里输入echo %PATH%,看看有没有包含Git Credential Manager Core所在的目录,要是没有,手动把该目录加到系统PATH里也行

方法3:手动替换内置Git为兼容版本(临时方案)

这个方法适合不想改VS设置的情况,但缺点是VS更新后会被覆盖:

  1. 下载和你系统Git同版本(2.32.0.windows.1)的32位Git压缩包(因为VS内置的是x86版本)
  2. 关闭VS,备份内置Git的原文件夹,然后把下载的Git文件解压替换进去
  3. 重启VS测试,这样内置Git就变成兼容版本了,能正常用凭证管理器

额外排查小技巧

  • 确认你的BitBucket HTTP访问没问题:用系统Git能正常拉推,说明服务器和凭证本身是好的
  • 检查全局Git配置文件(C:\Users\[你的用户名]\.gitconfig),确保credential.helper只有manager-core这一项,没有其他冲突的配置
  • 在VS的终端里手动执行git fetch,如果没弹出凭证输入框,那肯定是凭证管理器没被正确触发,回到上面的配置步骤检查

内容的提问来源于stack exchange,提问作者KirEvse

火山引擎 最新活动