Visual Studio 2017 Team Services:可登录GitHub账户但无法推送更改
解决VS2017 Team Services推送GitHub时的askpass错误
我之前帮好几个开发者搞定过这个问题——你遇到的cannot spawn askpass错误,本质是Git在尝试调用凭证弹窗工具时找不到它,导致推送流程卡壳了。下面是几个亲测有效的解决办法,你可以一步步试:
方法1:配置Git的凭证助手
Git默认依赖系统凭证助手处理认证,有时候VS集成的Git没配置对。打开Git Bash(或者命令提示符),执行以下命令设置:
git config --global credential.helper wincred
如果是Windows 10及以上版本,更推荐用这个:
git config --global credential.helper manager-core
设置完后重新尝试推送,这时候应该会弹出凭证输入框,记得输入你的GitHub用户名和个人访问令牌(现在GitHub已经不支持直接用账号密码推送了,令牌需要去GitHub设置里的Developer settings -> Personal access tokens创建,勾选repo权限即可)。
方法2:手动添加凭据到Windows凭据管理器
如果凭证助手没生效,直接手动添加更稳妥:
- 打开控制面板,找到用户账户 -> 凭据管理器 -> Windows凭据
- 点击添加通用凭据
- 填写信息:
- 互联网地址或网络地址:
git:https://github.com - 用户名:你的GitHub用户名
- 密码:你的GitHub个人访问令牌
- 互联网地址或网络地址:
方法3:检查VS的Git路径设置
VS2017可能自带了Git,但有时候路径配置出错:
- 打开VS2017,点击工具 -> 选项 -> 源代码管理 -> Git全局设置
- 确认Git可执行文件路径指向正确的Git安装位置(比如
C:\Program Files\Git\cmd\git.exe) - 如果路径不对,手动修改后重启VS,再尝试推送
方法4:用命令行触发一次凭证保存
有时候VS的集成环境没正确触发凭证流程,你可以换命令行试试:
- 打开命令提示符,切换到本地仓库的目录
- 执行推送命令:
git push origin 你的分支名
这时候会弹出凭证输入框,输入后Git会自动保存凭证,之后回到VS里推送就正常了。
内容的提问来源于stack exchange,提问作者Luke Weaver
相关产品推荐
相关产品推荐

