【问题标题】:How to import local git repository into new TFS 2017 project如何将本地 git 存储库导入新的 TFS 2017 项目
【发布时间】:2018-02-13 04:53:00
【问题描述】:

我正在使用 TFS 2017 Express(Team Foundation Server)并且正在尝试做一些我希望是简单的事情。

  1. 在 TFS 中创建新项目。 (完成)
  2. 导入一个本地 git 存储库,其中包含我从事一年多的项目。 (未完成)

我的项目是用 Visual Studio 2017 编写的。在创建项目时,我允许它创建一个本地 git 存储库。我将更改提交到本地,但尚未连接到 TFS。我想这不会是什么大不了的事。事实证明这并不简单。

TFS 希望我“克隆到 Visual Studio”,这意味着我必须将所有内容迁移到新的解决方案中。根据我的经验,将项目移动到 Visual Studio 中的另一个解决方案并不像将文档移动到新文件夹那么简单。各种东西都坏了,我花了半个多小时才找到所有需要更改的引用。

这是我目前为止的地方。 (见截图。)

有没有一种方法可以直接将我的本地 git 存储库导入 TFS?

【问题讨论】:

    标签: git tfs


    【解决方案1】:

    最简单的事情可能是在 TFS 中创建一个新的(空)存储库,获取它的克隆 URL,然后配置您的本地存储库以使用该 URL

    git remote add origin <url-from-TFS>
    

    (我在这里假设您还没有配置名称为 origin 的远程,并且您希望使用 TFS,就好像您已经使用默认行为从它克隆了本地一样。如果您的情况不同,您可以将遥控器命名为任何您想要的名称来代替origin。)

    之后,您可以将本地内容推送到 TFS。

    如果您希望 TFS 能够导入 repo,则该 repo 必须在 某处 TFS 可以通过 URL 找到它。不一定是 github;例如,它可以是本地 Web 服务器。原则上我认为它可能是本地路径或file:// URL,但这取决于 TFS 如何查看其本地环境。

    【讨论】:

    • 虽然我可以毫无问题地“添加来源”,但推送我的本地 git 存储库却因一大堆错误而失败。我想我会认输:克隆到桌面并将我的项目迁移到那个新的解决方案。多么痛苦。
    • @RandomHandle 具体错误是什么?推送更改是一个基本的 Git 功能,应该很容易实现。
    • @DanielMann -- "git-credential-winstore.exe" 没有这样的文件或目录,然后更新被拒绝,因为远程包含您在本地没有的工作。尝试拉动没有帮助。也许我有配置问题。
    • @RandomHandle - 第一个错误(“git-credential-winstore.exe ...”)听起来像是(旧版本)与 Windows 密码管理的集成可能已部分设置。我不知道如何解决这个问题,但您可能希望首先将其作为一个单独的问题来解决,因为我希望它会给您所有访问 TFS 的尝试带来麻烦。
    • @RandomHandle - 如果您在 TFS 上创建了一个空的存储库,则不应出现“...远程包含您在本地没有的工作...”。在推荐解决方案之前想了解更多。首先解决另一个问题(以减少未知数)可能是最简单的方法,但是当您执行拉取或获取时,您会得到什么输出?
    猜你喜欢
    • 1970-01-01
    • 2018-01-01
    • 2020-04-27
    • 2015-07-14
    • 2013-01-15
    • 1970-01-01
    • 1970-01-01
    • 2019-02-24
    • 2012-02-16
    相关资源
    最近更新 更多