Git Visual studio扩展未知错误-无法推送或获取任何内容

Git Visual studio扩展未知错误-无法推送或获取任何内容,git,bitbucket,push,visual-studio-extensions,bitbucket-server,Git,Bitbucket,Push,Visual Studio Extensions,Bitbucket Server,我尝试通过visual studio的Git扩展将任何内容推送到我的bitbucket存储库时出错: Error encountered while pushing branch to the remote repository: Git failed with a fatal error. HttpRequestException encountered. An error occurred while sending the request. cannot spawn /C/Progr

我尝试通过visual studio的Git扩展将任何内容推送到我的bitbucket存储库时出错:

Error encountered while pushing branch to the remote repository: Git failed with a fatal error.
HttpRequestException encountered.
   An error occurred while sending the request.
cannot spawn /C/Program Files (x86)/Microsoft Visual Studio/2017/Community/Common7/IDE/CommonExtensions/Microsoft/TeamFoundation/Team Explorer/Git/mingw32/libexec/git-core/git-askpass.exe: No such file or directory
could not read Password for ......

这里会出现什么问题?

它似乎会影响某些Visual Studio用户,即使在此之前环境中没有发生任何更改。Git与VisualStudio的集成显然出了问题

目前有一种解决方法,您可以在存储库的remotes设置中设置密码,如图所示,但请注意,它是不安全的,因为它需要以纯文本形式存储密码

另一个解决方法是使用命令行处理Git


第三种解决方法,也是我发现最好的一种,是配置SSH密钥身份验证。到目前为止,它似乎与Visual Studio 2017配合使用,没有任何问题。这就是我选择的解决方案。

我报告说这是一个bug,因为它在更新到15.7.6之后就开始出现在我身上


现在,我只是在我的“git克隆url”上设置密码,这就解决了我的问题


不过,我仍在寻找更好的解决方案。

原因:几个月前GitHub不推荐对TLS1.0和TLS1.1的支持时,出现了相同的错误消息。现在看来,Atlassian于2018年8月6日对BitBucket的网络进行了一些更改()。这种变化可能与问题有关

解决方法:Visual Studio 2017中捆绑的Git Credential Manager for Windows还不是最新版本。下载最新版本并将其放在Visual Studio 2017中的文件顶部可修复此问题:

  • 从下载zip文件gcmw-v1.16.3.zip
  • 导航到C:\Program Files(x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw32\libexec\(或“缺失”Git-askpass.exe所在的位置)
  • 制作git core文件夹的备份副本
  • 将zip文件中的文件放在新git core文件夹的内容之上,并在出现提示时覆盖
  • 此外,如果配置了远程设置(即更改为),您似乎需要从远程设置中删除“登录”,并将Atlassian ID与完整电子邮件一起使用

    ()

    1)在凭据管理器中删除凭据

    2) 重命名或删除“C:/Program Files(x86)/Microsoft Visual Studio/2017/Community/Common7/IDE/CommonExtensions/Microsoft/TeamFoundation/Team Explorer/Git”中的Git目录

    3) 安装软件包“”


    4) 当VS请求BitBucket/GitHub凭据插入它们时,我也遇到了同样的问题。当VisualStudio尝试登录GitHub时,会出现错误。
    获取适用于windows的Git:

    这将为windows安装git bash和GUI。
    打开GitBash
    转到现有回购并尝试执行拉取(>>git拉取)或尝试执行git克隆(>>git克隆someurl)
    这将在web浏览器中触发并请求git凭据。
    只需输入凭证并登录即可

    如果登录成功,请尝试从visual studio中执行拉入操作。它应该可以正常工作。

    @JosephSerido我没有使用SSH密钥…通过gitbash提交工作…在我的工作场所也开始出现这种情况!使用命令行git可以正常工作,但在VS中它突然停止工作。相关:注意上几个小时的评论。这向我解决了这个问题,但是像这样用纯文本存储密码是非常不安全的:像这样用纯文本设置密码是非常不安全的。正如我在回答中所写的,配置SSH密钥身份验证是最好和最安全的解决方法。大多数Git托管服务(如GitHub和Bitbucket)支持SSH身份验证。它与更新无关。它也会影响以前版本的用户。此外,在更新后不久,这种情况就不会发生在我身上。最后一部分,删除URL的
    login@
    部分,是我在类似的解决方案中没有看到的。没有它,它将无法工作!谢谢!这是非常重要的很好地工作,我花了2天的时间胡闹,甚至SSH密钥身份验证也不起作用。关于如何配置SSH密钥身份验证的信息很受欢迎-最好粘贴在这里-谢谢。@niico谢谢。我的印象是,一旦扩展被更新,SSH就不必了!?有人知道这是真的还是可能是真的吗发生了什么事?我想避免使用SSH路由,如果不必的话,我可以暂时不使用远程源repo,因为我是一个开发人员。