关于github:如何将现有的本地git存储库连接到Visual Studio 2013中的现有远程存储库?

How to connect an existing local git repository to its existing remote repository in Visual Studio 2013?

我刚升级到Visual Studio 2013,希望使用内置的Git功能。

我有一个本地的Git存储库——有各种分支和历史——我和其他同事一起愉快地使用了一个远程的TFS Git存储库。

在VS2013中,我可以看到本地存储库和切换分支、提交、推送等,但是当我连接到团队项目时,它没有分支,也没有连接到本地存储库。

我可以将远程复制到新的本地文件夹,但不确定如何将现有文件夹链接到该文件夹。

这一切都是与Github的Windows应用程序,但VS2013工具似乎不喜欢它。

有什么想法吗?


我知道这是个老问题,但在我的谷歌搜索中…

如果源代码不在tfs中,则需要克隆空的tfs项目(使用Visual Studio),然后从其他repo中拉入代码并将其推送到tfs(丹尼尔的答案)。

如果源代码已经在tfs中,但Visual Studio没有将现有的本地git repo与tfs项目关联…

在Visual Studio中,连接到TFS(即在团队资源管理器窗口中,连接到TFS项目)。您应该能够查看工作项等,但它会说您需要在本地克隆项目。现在,转到"文件"菜单->打开->项目/解决方案,在本地git repo中查找并打开解决方案文件。如果一切都很好,Visual Studio将使您保持与TFS项目的连接,并且您的解决方案将处于打开状态,并且它将来应该记住这一点(因此它不应再告诉您必须克隆它)。

另一方面,如果在打开解决方案时,Visual Studio将您与TFS项目断开连接(如果要重新连接到TFS,它将关闭解决方案),则意味着它认为它们不是同一个团队项目。最有可能的原因是服务器URL不完全相同。这可能有两种简单的方法,因为您可能正在使用不同的主机名,或者它可能是"http:"vs"https:"。

通过在本地回购中执行EDOCX1[1]来检查这一点,并将URL与连接到tfs时在vs中使用的URL进行比较。除了域名之外,还要确保两者都使用"http"或"https"(我刚遇到这个问题,意识到我在Visual Studio中使用了"https",但在以前在Git中克隆repo时使用了"http")。如果它们是不同的,那么修复它。

要更新本地git repo中的URL,请执行以下操作:

1
git remote set-url REMOTE_NAME REMOTE_URL

(用遥控器的名称替换遥控器的名称,用URL替换遥控器的URL)

(也可以在文本编辑器中欺骗并打开.git\config文件,直接编辑URL)

在Visual Studio中重新打开该解决方案,查看它是否使您保持与TFS的连接。一旦Visual Studio发现它们是相同的服务器URL,它就应该记住它,所以当您使用团队资源管理器连接到TFS项目时,它不应该说您需要首先克隆它,并且应该显示解决方案文件的快捷方式(尽管在vs 2015中,当我在p之间切换时,我经常需要单击团队资源管理器顶部的刷新按钮解决方案快捷方式更改前的项目)。


我对vs2015和tfs2015也有同样的问题,我的网址是相同的。我通过删除本地Git存储库列表中对项目的引用来解决这个问题。通过这样做,下次我打开解决方案时,vs2015会自动将本地存储库与tfs2015团队项目"连接",而不是将我与它断开连接,并将我带回本地存储库。

希望它能帮助别人。


您可能只需要将远程程序添加到现有的repo中,并将本地repo的内容推送到tfs。

打开git命令行并键入"git remote add"。您应该能够将更改推送到TFS中。

在vs中,另一个选项是将tfs repo克隆到您的框中的一个文件夹中,然后打开git命令行并键入git pull 。这将从旧回购协议中拉入所有内容,并让您将其推到TFS。