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

VS2017内置Git窗口拉取VSTS仓库报错,Git Bash可正常操作

解决VS2017内置Git Pull时认证失败的问题

针对你遇到的VS2017内置Git拉取报错、但Git Bash正常工作的情况,结合账户迁移的背景,大概率是凭证存储配置过期或者VS的Git认证逻辑没跟上账户变更,试试下面这些分步解决方案:

1. 更新Git凭证助手配置

旧的Windows凭证助手可能无法处理账户迁移后的认证,建议切换到新版的凭证管理器:

  • 打开VS2017,依次点击「工具」→「选项」→「源代码管理」→「Git全局设置」
  • 找到「凭证助手」选项,将其改为manager-core(如果当前是wincred或其他旧选项)
  • 或者直接在Git Bash中执行全局配置命令:
    git config --global credential.helper manager-core
    

2. 清除过期的Windows凭据

账户迁移后,旧的存储凭据会导致认证失败,需要手动清除:

  • 打开Windows「凭据管理器」(可以通过控制面板搜索,或者Win+R输入control keymgr.dll打开)
  • 切换到「Windows凭据」标签,找到所有与myproj.visualstudio.com相关的条目,右键删除
  • 重新打开VS2017,执行Pull操作,输入迁移后的新账户用户名和密码

3. 启用VS的Git终端提示

你提到「终端提示已禁用」,这可能导致VS无法 fallback 到更可靠的终端认证流程:

  • 在VS2017的「工具」→「选项」→「源代码管理」→「Git全局设置」中,勾选「启用终端提示」选项
  • 保存设置后再次尝试Pull,此时如果内置窗口认证失败,会自动调用终端让你输入凭据

4. 检查仓库本地Git配置

确认仓库的远程地址和本地配置没有冲突:

  • 在Git Bash中进入你的仓库目录,执行命令查看本地配置:
    git config --local --list
    
  • 检查remote.origin.url是否为正确的VSTS仓库地址,如果不是,执行命令更新:
    git remote set-url origin https://myproj.visualstudio.com/repo
    
  • 如果发现本地配置了单独的credential.helper,可以删除它以使用全局配置:
    git config --local --unset credential.helper
    

5. 重置VS的Git缓存

VS的本地缓存可能残留旧账户信息,导致认证异常:

  • 关闭所有VS2017窗口
  • 打开文件资源管理器,导航到%LOCALAPPDATA%\Microsoft\Team Foundation\7.0\Cache目录
  • 删除该目录下的所有文件和文件夹
  • 重新启动VS2017,尝试执行Pull操作

这些方法应该能解决你的问题——毕竟Git Bash可以正常操作,说明仓库本身和网络没有问题,核心是VS端的认证配置没跟上账户迁移的变化。

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

火山引擎 最新活动