我知道这是一个老问题,但它出现在我的 Google 搜索中......
如果您的源代码尚未在 TFS 中,您将需要克隆您的空 TFS 项目(使用 Visual Studio),然后从您的其他存储库中提取代码并将其推送到 TFS(丹尼尔的回答)。
如果您的源代码已经在 TFS 中,但 Visual Studio 没有将您现有的本地 git 存储库与 TFS 项目相关联...
在 Visual Studio 中,连接到 TFS(即在团队资源管理器窗口中,连接到 TFS 项目。您应该能够查看工作项等,但它会说您需要在本地克隆项目。现在,转到文件菜单 -> 打开 -> 项目/解决方案,然后在本地 git 存储库中找到并打开解决方案文件。如果一切正常,Visual Studio 将使您仍然连接到 TFS 项目,您的解决方案将是开放的,它应该在以后记住这一点(所以它不应该再告诉你必须克隆它)。
另一方面,如果 Visual Studio 在您打开解决方案时断开了您与 TFS 项目的连接(如果您要重新连接到 TFS,它会关闭解决方案),这意味着它认为它们不一样团队项目。这很可能是因为服务器 URL 不是 100% 相同。这可能是两种简单的方法,因为您可能使用不同的主机名,或者可能是“http:”与“https:”。
通过在本地存储库中执行git remote -v show 来仔细检查这一点,并将 URL 与连接到 TFS 时在 VS 中使用的 URL 进行比较。除了域名之外,请确保两者都使用“http”或都使用“https”(我刚刚遇到这个问题并意识到我在 Visual Studio 中使用了“https”,但是当我之前在 git 中克隆了 repo 时使用了“http” )。如果它们不同,则修复它。
更新本地 git repo 中的 URL:
git remote set-url REMOTE_NAME REMOTE_URL
(将远程名称替换为 REMOTE_NAME,将 URL 替换为 REMOTE_URL)
(或者您可以作弊并在文本编辑器中打开 .git\config 文件并直接编辑 URL)
在 Visual Studio 中重新打开解决方案,看看它是否让您连接到 TFS。一旦 Visual Studio 发现它们是相同的服务器 URL,它应该记住它,因此当您使用 Team Explorer 连接到 TFS 项目时,它不应该说您需要先克隆它,并且应该出现解决方案文件的快捷方式(虽然在 VS 2015 中,当我在解决方案快捷方式更改之前在项目之间切换时,我经常需要单击团队资源管理器顶部的刷新按钮)。