7

我已经开始使用 Team Foundation Service 2012(基于云的产品),因为他们宣布支持使用 Git 作为源代码控制解决方案。

我最初的测试是一个单一的项目,带有一个以项目命名的 Git 存储库。

一切顺利,我可以克隆存储库,在 Visual Studio 2012 中提交推送和拉取,更重要的是,工作项关联也能正常工作。

然而,对于实际项目,将代码库拆分到 TFS 项目中的多个 Git 存储库更有意义。

这样做没有任何障碍,Team Foundation Service 的接口很好地支持它......

现在我发现在 Visual Studio 2012 中存在一些问题,我想知道我是否做错了什么,或者它只是不完全支持的东西(还没有?)

  • 经过测试,我发现如果 Git repo 与项目名称不同,那么您将无法轻松克隆 repo。出现的默认 URL 始终假定 Git 存储库以项目命名。
  • 同样,当 repo 没有相同的名称时,您将完全失去将工作项与提交关联的能力。它还在 Git 存储库名称后显示“(本地)”,就好像它根本不知道它实际上与 TFS 项目相关联。

其他人找到了这个,也许是一个解决方案(同时仍然允许在同一个 TFS 项目下有多个 Git 存储库)?

更新:找到了一些链接,例如这两个

http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/3811952-allow-multiple-git-repositories-in-a-single-team-p

http://social.msdn.microsoft.com/Forums/vstudio/en-US/dff9c737-fbd1-4ca8-9c32-3be14eb614ba/what-is-the-best-team-project-setup-for-using-git-带-tfs

所以至少还有一个人撞到了它。

如果您使用 Git 远程推送到正确的 repo URL,则多个 repo 的工作正常,如果您在工作项关联和克隆 repo 方面使用 Visual Studio 2012 集成,它只会崩溃。

4

3 回答 3

1

这是适用于 Visual Studio 2012的Visual Studio Tools for Git扩展的限制。

在此处输入图像描述

这个问题在作为Visual Studio 2013的一部分提供的 Git 工具中不存在。

于 2014-10-10T11:40:15.710 回答
0

我在 VS 2017 中遇到了完全相同的问题。在我的连接菜单下,我注意到它列出了团队项目和旧的 repo(同名)。显然这是不正确的,因为我们已经重命名了旧的 repo 并添加了更多内容。

修复它的是进入管理连接模式并从那里重新连接,这迫使 UI 在团队资源管理器中的团队项目下加载正确的存储库名称,然后我可以连接到工作项并签入代码。我认为团队资源管理器窗口喜欢缓存引用并且永远不会更新它们,除非你强制它。 在此处输入图像描述

于 2018-04-18T19:57:01.807 回答
0

确保在 Connect>ManageConnections> 时单击 repo(在项目下),而不仅仅是项目。

对于只有一个 repo 的项目,VS 可以解决。

于 2017-04-04T13:19:59.177 回答