我刚刚升级到Visual Studio 2013并希望使用内置的git功能。
我有一个本地git存储库 - 包含各种分支和历史记录 - 我和其他同事一起愉快地使用远程TFS git存储库。
在VS2013中,我可以看到本地存储库和交换机分支,提交,推送等,但是当我连接到团队项目时,它没有分支,也没有连接到本地存储库。
我可以将遥控器克隆到新的本地文件夹,但不知道如何将现有文件夹链接到该文件夹。
这一切都与Windows的GitHub应用程序一起使用,但VS2013工具似乎不喜欢它。
有什么想法吗?
答案 0 :(得分:10)
我知道这是一个老问题,但它出现在我的Google搜索中......
如果你的源代码还没有在TFS中,那么你需要克隆你的空TFS项目(使用Visual Studio),然后从你的其他仓库中提取代码并将其推送到TFS(Daniel'答案)。
如果您的源代码已经在TFS中,但Visual Studio不会将您现有的本地git repo与TFS项目关联...
在Visual Studio中,连接到TFS(即在团队资源管理器窗口中,连接到TFS项目。您应该能够查看工作项等,但它会说您需要克隆项目现在,转到文件菜单 - >打开 - >项目/解决方案,然后在本地git仓库中查找并打开解决方案文件。如果一切正常,Visual Studio将保持您仍然连接到您的TFS项目,并且您的解决方案将是开放的,并且它应该在将来记住这一点(所以它不应再告诉您必须克隆它)。
另一方面,如果在打开解决方案时Visual Studio将您从TFS项目中断开(如果您要重新连接到TFS,它会关闭解决方案),这意味着它并不认为它们是同一个团队项目。最有可能的原因是,服务器URL不是100%相同。这可能是两种简单的方法,因为您可能使用不同的主机名,或者可能是' http:' vs' https:'。
通过在本地仓库中执行git remote -v show
来仔细检查,并将URL与您在连接到TFS时在VS中使用的URL进行比较。除了域名,请确保两者都使用" http"或两者都是" https" (我刚刚遇到这个问题,并意识到我在Visual Studio中使用过' https'但是当我之前在git中克隆了repo时,他们已经#。如果它们不同,则修复它。
更新本地git仓库中的URL:
git remote set-url REMOTE_NAME REMOTE_URL
(替换REMOTE_NAME的遥控器名称和REMOTE_URL的网址)
(或者您可以在文本编辑器中欺骗并打开.git\config
文件并直接编辑网址)
在Visual Studio中重新打开解决方案,看看它是否让您连接到TFS。一旦Visual Studio看到它们是相同的服务器URL,它应该记住它,所以当你使用团队资源管理器连接到TFS项目时,它不应该说你需要先克隆它并解决方案文件的快捷方式应该出现(尽管在VS 2015中,我经常在解决方案快捷方式改变之前在项目之间切换时单击团队资源管理器顶部的刷新按钮。)
答案 1 :(得分:1)
我对VS2015和TFS2015有同样的问题,我的网址是相同的。我通过删除Local Git Repositories列表中对项目的引用来解决问题。通过这样做,下次我打开解决方案,VS2015"连接"自动使用TFS2015团队项目的本地存储库,而不是将其与我断开连接并将我带回本地存储库。
希望它会帮助别人。
答案 2 :(得分:0)
您可能只需要将遥控器添加到现有仓库并将本地仓库的内容推送到TFS。
打开Git命令行并输入`git remote add"。您应该能够将更改推送到TFS。
VS中的另一个选项是将TFS repo克隆到盒子上的文件夹中,然后打开Git命令行并输入git pull <local path of your existing repo>
。这应该从您的旧回购中提取所有内容,并让您将其推送到TFS。
答案 3 :(得分:0)