在单个Team Foundation Server项目中使用多个Git存储库

时间:2013-08-28 10:01:59

标签: git visual-studio-2012 tfs

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

我的初始测试是使用以项目命名的单个Git存储库进行的单个测试。

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

对于真实的项目,在TFS项目中将代码库拆分为多个Git repos更有意义。

没有阻碍这样做,Team Foundation Service的界面非常好地支持它....

BUT

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

  • 经过测试,我发现如果Git repo与项目名称不同,那么你就无法轻易克隆回购。出现的默认URL始终假定Git repo以预计命名。
  • 同样,当repo的名称不同时,您完全失去了将工作项与提交相关联的能力。它还在Git repo名称后面显示“(Local)”,好像它根本不知道它实际上与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-with-tfs

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

如果您使用Git远程推送到正确的repo URL,那么多个repo的工作正常,只有在工作项关联和克隆存储库时使用Visual Studio 2012集成时才会出现故障。

3 个答案:

答案 0 :(得分:1)

这是Visual Studio 2012可用的Visual Studio Tools for Git扩展名的限制。

enter image description here

作为Visual Studio 2013的一部分的Git工具中不存在此问题。

答案 1 :(得分:0)

确保何时连接> ManageConnections> 你单击仓库(在项目下)而不仅仅是项目。

对于只有一个回购的项目,VS可以解决这个问题。

答案 2 :(得分:0)

我在VS 2017遇到了完全相同的问题。 在我的连接菜单下,我注意到它列出了Team Project和旧的repo(同名)。显然这不正确,因为我们已经重新命名了旧的仓库并增加了更多。

什么修复了它进入管理连接模式并从那里重新连接,这迫使用户界面在团队资源管理器中的团队项目下加载正确的仓库名称,然后我可以连接到该代码并使用工作项检查代码。我认为团队资源管理器窗口喜欢缓存引用并且永远不会更新它们,除非你强制它。 enter image description here