【发布时间】:2013-08-31 08:17:36
【问题描述】:
我已经开始使用 Team Foundation Service 2012(基于云的产品),因为他们宣布支持使用 Git 作为源代码控制解决方案。
我的初始测试是一个单一的项目,带有一个以项目命名的 Git 存储库。
一切顺利,我可以在 Visual Studio 2012 中克隆存储库、提交推送和拉取,更重要的是,工作项关联也正常工作。
然而,对于实际项目,将代码库拆分到 TFS 项目中的多个 Git 存储库更有意义。
这样做没有任何障碍,Team Foundation Service 的接口很好地支持了它....
但是
现在我发现在 Visual Studio 2012 中存在一些问题,我想知道是我做错了什么,还是它只是不完全支持的东西(还没有?)
- 经过测试,我发现如果 Git repo 没有与项目同名,那么您将无法轻松克隆 repo。出现的默认 URL 始终假定 Git 存储库以项目命名。
- 同样,当存储库名称不同时,您将完全失去将工作项与提交关联的能力。它还在 Git 存储库名称后显示“(本地)”,就好像它根本不知道它实际上与 TFS 项目相关联。
其他人找到了这个,也许是一个解决方案(同时仍然允许在同一个 TFS 项目下有多个 Git 存储库)?
更新: 找了几个链接,比如这两个
所以至少有其他人撞到了它。
如果您使用 Git 远程推送到正确的 repo URL,则多个 repo 可以正常工作,但只有在工作项关联和克隆 repo 方面使用 Visual Studio 2012 集成时,它才会崩溃。
【问题讨论】:
-
“轻松克隆”是什么意思?你真的在克隆 repos 时遇到问题吗?
-
是的,如果 repo 与项目的名称不同,当您在 Visual Studio 中点击克隆时,它会失败,因为目标 URL 默认为项目的名称。您可以通过手动编辑 URL 以在项目中定位所需的 repo 来解决此问题。这将使克隆工作,但与工作项目等的所有链接仍然丢失。
-
我明白你现在在说什么,感谢您的澄清。
-
@EdwardThomson 没关系。我喜欢 MS 已经为我们 DVCS 追随者接受了 Git,但 Git 的全部意义在于使用多个存储库来分隔逻辑区域/项目等。如果他们能做到这一点,那将是锦上添花
-
当然。适用于 Git 的 Visual Studio 工具(用于 Visual Studio 2012 的扩展)仍处于预览阶段。这些限制应该在 Visual Studio 2013 中得到解决。我们正在尝试在 Team Foundation Service 和 Visual Studio 集成上快速移动;这意味着有时很难协调时间表。给您带来的不便深表歉意。
标签: git visual-studio-2012 tfs