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

Unable to migrate TFVC to GIT from other collection of project

在 Azure DevOps Server 2019(内部部署)中,我们有一组项目和一个大项目。 但是性能真的很差

我们想把这个大项目分成许多小项目:

我有一个重复的环境要测试。 在同一个组织中,我创建了项目 'Product1' 和 Git 的集合。在使用工具 Import from TFVC 的 Azure DevOps 中,我 select TFVC,输入路径 $/BigProject/Team1/Product1/Main 并取消选中 Migrate with history。我收到此错误:

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

但是我也有同样的错误。

我知道我们可以像 那样手动迁移,我会为我的团队这样做。但是对于其他团队来说,有一个简单的工具就更好了。

如何使用工具 Import from TFVC 导入其他集合中的 TFVC 项目 Git 项目?

您只能将代码从现有的 TFVC 存储库迁移到同一 organization/collection 中的新 Git 存储库。

如果要使用TFVC导入工具,可以考虑将单个项目集合拆分成多个项目集合。例如,您可以拆分一个仅包含 BigProject 的集合,然后迁移到同一集合中的 Git。

https://docs.microsoft.com/en-us/azure/devops/server/admin/split-team-project-collection?view=azure-devops

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

所以这里的技巧是:

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

  • 从源项目中获取克隆 URL

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

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

通知

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

一个团队项目可以容纳超过 1 个 Git 个存储库,因此可以很容易地在一个项目下容纳多个代码存储库,然后在一个集合中容纳多个项目。