TFS Git存储库无法在Visual Studio 2015中同步

时间:2016-07-14 22:48:40

标签: git tfs visual-studio-2015

我的组织已投资Team Foundation Server 2015,我们正处于设置团队和项目的初始阶段。我们尚未就使用哪种源代码控制(VSVC / Git)达成一致,但由于我之前拥有Git经验并且个人更喜欢它,因此我自己测试了Git如何与Visual Studio Enterprise 2015和我们的TFS站点集成。我将概述下面的步骤,但到目前为止我的结果让我相信VS中的某些设置与Git的身份验证设置或我们的公司防火墙相冲突。我正在寻求帮助或想法,我可以测试和验证哪些设置不正确。

我的测试:

  • 在TFS中创建了一个新的团队项目
  • 选择Git作为源代码控件并创建新的存储库
  • 从TFS团队项目“代码”选项卡中,单击“在Visual Studio中克隆”
  • 在VS启动后,我按照提示将repo克隆到了 默认源目录
  • 导航到我的文件系统上的repo目录并添加了一个新目录 空白文本文件
  • 已验证我可以在团队的“更改”部分看到此更改 VS中的资源管理器窗口。
  • 使用内置的VS接口添加提交消息然后我就是 提示与服务器仓库同步
  • 尝试同步并查看“拉动当前分支”,然后它会挂起并最终因以下两条错误消息之一而失败:
  

推送到远程存储库时遇到错误:响应   状态代码不表示成功:504(连接超时)。

     

推送到远程存储库时遇到错误:响应   状态代码不表示成功:502(由对等方重置连接)。   推送到远程存储库时遇到错误:错误   发送请求时发生。

     

内部例外:       底层连接已关闭:服务器已关闭预期保持活动状态的连接。

当我从命令行尝试相同的操作时,无论是使用Git Bash还是CMD,都没有问题。我可以毫无问题地推/拉。当我在VS运行时执行此操作时,我实际上可以看到程序通过从团队资源管理器窗口中删除传出提交来响应我的推送。

当我在Bash中'git remote -v'时,我看到:

  

原产地https://myOrgTFS.visualstudio.com/_git/my-team-project-name   (提取)
  来源https://myOrgTFS.visualstudio.com/_git/my-team-project-name(推)

在寻找此问题的解决方案时,我下载并安装了Git-Credential-Manager-for-Windows 安装完成后,我在Git配置中确认已设置凭据管理器。这似乎没有影响VS中的任何内容。同步过程仍然失败。

我使用“cmdkey.exe / list”在Windows中检查了我的凭据设置,并找到了此条目:

目标:LegacyGeneric:target = git:https://myOrgTFS.visualstudio.com
类型:通用
用户:个人访问令牌
本地机器持久性

看到这个我想把我的git配置设置为使用https://而不是git://,但这也没有改变VS的行为。 我知道TFS的“我的安全”部分,并已测试设置与我的用户帐户匹配的备用身份验证凭据。没工作。我还修改了我发布的个人访问令牌,以包括授权的“所有范围”,以防万一这里的设置阻止了我。这也没有改变VS同步失败。

这个问题的一些读者可能认为这不是问题 - 只需使用命令行吧?我想要实现的是一个工作演示,我可以展示我从未使用过Git的程序员同事,只是在VS IDE中工作,而不是命令行。这些人仍然使用Visual Source Safe,所以我试图帮助指导他们使用Git并展示它如何与他们的IDE工作流程集成。

有关如何确定VS Git失败但Bash Git工作原理的任何建议或想法都表示赞赏。谢谢!

使用Git版本2.9.0.windows.1和VS 2015 Enterprise Update 3

2 个答案:

答案 0 :(得分:1)

同步期间似乎存在一些连接错误。确保VS和TFS之间的连接运行良好,没有任何问题。尝试创建一个新的存储库以缩小是否与存储库相关。也 Clear VS and TFS cache然后再试一次。

此外,在博客下方,您可以发送给您的同事,帮助他们快速开始使用GIT,VS,TFS。

答案 1 :(得分:1)

我刚刚遇到了tfs和visual studio 2015的类似问题,由于504错误导致我无法同步或推送。编辑文件devenv.exe.config(devenv.exe配置文件)后,问题解决了:%ProgramFiles%\ Microsoft Visual Studio 14.0 \ Common7 \ IDE(或%ProgramFiles(x86)%\ Microsoft Visual Studio 14.0 \ Common7 \ IDE )。 在配置文件中,找到该块,然后添加以下代码:

<defaultProxy enabled="true" useDefaultCredentials="true">  
    <proxy bypassonlocal="True" proxyaddress="http://yourproxy:port"/>  
</defaultProxy>  

您必须在proxyaddress =“”

中为您的网络插入正确的代理地址

如果您不知道代理名称:port,请打开chrome浏览器并在地址类型中

chrome://net-internals/#proxy

左列选择代理以获取详细信息