git - 无法将 TFVC 从其他项目集合迁移到 GIT

标签 git azure-devops tfvc azure-devops-server-2019

在 Azure DevOps Server 2019(本地)中,我们有一个项目集合和一个大项目。 但性能确实很差。

我们想将这个大项目拆分为许多小项目:

  • 团队项目合集
  • 按产品划分一个项目

我有一个重复的环境要测试。 在同一组织中,我使用 Git 创建了项目“Product1”的集合。在 Azure DevOps 中,使用工具从 TFVC 导入,我选择 TFVC,输入路径 $/BigProject/Team1/Product1/Main 并取消选中“根据历史记录迁移”。我收到此错误:

There is no item in the given path which can be imported

VSTS 将我重定向到 https://go.microsoft.com/fwlink/?linkid=839462但没有对该错误的描述,这是一个通用的导入指南。

我想我需要精确路径中的集合。然后我尝试:

Collection/BigProject/Team1/Product1/Main
$Collection/BigProject/Team1/Product1/Main
/Collection/BigProject/Team1/Product1/Main

但我也有同样的错误。

我知道我们可以像 Unable to perform TFVC to GIT import on VSTS 那样手动迁移我会为我的团队做这件事。但对于其他团队来说,有一个简单的工具会更好。

如何使用从 TFVC 导入工具将其他集合中的 TFVC 项目导入到 Git 项目中?

最佳答案

虽然您确实只能从同一集合中导入,但将整个 git 存储库从一个集合迁移到另一个集合非常容易。

所以这里的技巧是:

  • 使用导入功能将数据从 TFVC 导入到源项目中的 git 存储库。

    enter image description here

  • 从源项目中获取克隆 URL enter image description here

    enter image description here

  • 转到目标项目并选择将 git 存储库导入该项目并将其指向源项目中的存储库。我使用个人访问 token 进行身份验证,但您可能需要生成并使用另一种备用凭据。

    enter image description here

这会工作得很好。 git 存储库将被克隆,包含所有详细信息和历史记录。 Git 的可移植性使这一过程成为一个无缝的过程。它可以从一个 TFS 服务器运行到另一个 TFS 服务器,也可以从任何其他 Git 提供商或 Azure DevOps 服务运行。

通知

虽然将集合拆分为多个集合将使您的 TFS 实例更易于管理,但如果您想稍后迁移到云中的 Azure DevOps,则会产生一些限制。每个集合在导入后将变成一个单独的帐户。因此,如果您将来想要一个帐户,建议保留在单个项目集合中。 Azure DevOps 服务没有集合的概念。

单个团队项目可以容纳 1 个以上的 Git 存储库,因此可以轻松在单个项目下容纳多个代码存储库,然后在单个集合中容纳多个项目。

关于git - 无法将 TFVC 从其他项目集合迁移到 GIT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59661199/

相关文章:

ios - 将 Microsoft Team Foundation Server 集成到 iOS 应用程序中的推荐方法是什么

azure-devops - 具有多个工件的 AzureDevOps 发布管道

version-control - 将源代码管理从一个 TFS 项目转移到另一个

visual-studio-2010 - 我可以在 Visual Studio 中使用 WinMerge 作为我的合并/差异工具吗?

git - 如何删除不再有效的旧远程引用

git - 如何设置子模块 Azure DevOps

azure-devops - 下载 VSTS 附件

git - 个人项目使用android repo工具

git - 如何在GCP的Gerrit容器中克隆项目?

tfs - 如何确定在 TFS 中触发发布的构建定义?