【问题标题】:How to connect an existing local git repository to its existing remote repository in Visual Studio 2013?如何在 Visual Studio 2013 中将现有的本地 git 存储库连接到其现有的远程存储库?
【发布时间】:2014-08-21 22:00:21
【问题描述】:

我刚刚升级到 Visual Studio 2013,想使用内置的 git 功能。

我有一个本地 git 存储库 - 具有各种分支和历史记录 - 我一直很高兴与其他同事一起使用远程 TFS git 存储库。

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

我可以将远程克隆到一个新的本地文件夹,但不确定如何将现有文件夹链接到它。

这一切都适用于 Windows 的 GitHub 应用程序,但 VS2013 工具似乎不喜欢它。

有什么想法吗?

【问题讨论】:

  • 我正在寻找相同的东西,除了我想为非 VS Web 项目(对于普通的旧 Web 项目文件夹)执行此操作。谁知道有没有可能?

标签: git github tfs visual-studio-2013


【解决方案1】:

我知道这是一个老问题,但它出现在我的 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 中,当我在解决方案快捷方式更改之前在项目之间切换时,我经常需要单击团队资源管理器顶部的刷新按钮)。

【讨论】:

  • 我很想说这对我有用,但它不起作用。我正在运行 VS2013,我的 git remote -v show 显示相同的 url,但打开解决方案总是会断开我与 TFS 的连接。 :(
  • 第一部分对我有用。我之前连接了 TFS,但由于崩溃而不得不重新安装。我想知道比克隆所有存储库更简单的方法,并找到了这个有帮助的答案。谢谢!!
  • 打开解决方案对我有用,并在 Visual Studio 2017 中创建了连接。
【解决方案2】:

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

希望它能对其他人有所帮助。

【讨论】:

    【解决方案3】:

    您可能只需要将远程添加到现有存储库并将本地存储库的内容推送到 TFS。

    打开 Git 命令行并输入“git remote add”。您应该能够将更改推送到 TFS。

    在 VS 中的另一个选项是将 TFS 存储库克隆到您盒子上的文件夹中,然后打开 Git 命令行并输入 git pull <local path of your existing repo>。这应该会从您的旧仓库中提取所有内容,并让您将其推送到 TFS。

    【讨论】:

      【解决方案4】:

      旧任务,但在 VS2019 中,您可以像这样连接到现有的本地 Git 存储库:

      单击添加到源代码管理,您应该立即连接到本地 git 存储库。

      【讨论】:

        猜你喜欢
        • 2020-09-23
        • 2018-10-29
        • 2017-09-07
        • 2015-04-20
        • 1970-01-01
        • 1970-01-01
        • 2020-12-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多