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

无法将TFVC从其他项目集合迁移到GIT,git,azure-devops,tfvc,azure-devops-server-2019,Git,Azure Devops,Tfvc,Azure Devops Server 2019,在Azure DevOps Server 2019内部部署中,我们有一个项目集合和一个大项目。 但是表现真的很差 我们想把这个大项目分成许多小项目: 一组项目的集合 按产品分列的一个项目 我有一个重复的环境要测试。 在同一个组织中,我用Git创建了项目“Product1”的集合。在带有从TFVC导入工具的Azure DevOps中,我选择TFVC,在路径$/BigProject/Team1/Product1/Main中输入,然后取消选中Migrate with history。我得到这个错误:

在Azure DevOps Server 2019内部部署中,我们有一个项目集合和一个大项目。 但是表现真的很差

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

一组项目的集合 按产品分列的一个项目 我有一个重复的环境要测试。 在同一个组织中,我用Git创建了项目“Product1”的集合。在带有从TFVC导入工具的Azure DevOps中,我选择TFVC,在路径$/BigProject/Team1/Product1/Main中输入,然后取消选中Migrate with history。我得到这个错误:

There is no item in the given path which can be imported
VSTS将我重定向到,但没有对此错误的描述,它是一个通用的导入指南

我想我需要在小路上找到准确的藏品。然后我尝试:

Collection/BigProject/Team1/Product1/Main
$Collection/BigProject/Team1/Product1/Main
/Collection/BigProject/Team1/Product1/Main
但我也有同样的错误

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


如何使用工具“从TFVC导入”在Git project中导入其他集合中的TFVC项目?

您只能将代码从现有TFVC存储库迁移到同一组织/集合中的新Git存储库

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


您只能将代码从现有TFVC存储库迁移到同一组织/集合中的新Git存储库

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


虽然您只能从同一个集合中导入,但将整个git repo从一个集合迁移到另一个集合是非常容易的

所以这里的诀窍是:

使用导入功能将数据从TFVC导入到源项目中的git repo

从源项目获取克隆URL

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

这就行了。git回购协议将克隆所有细节和历史记录。Git的可移植性使得这是一个无缝的过程。它可以从一个TFS服务器工作到另一个TFS服务器,也可以从任何其他Git提供商或Azure DevOps服务工作

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


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

虽然您只能从同一集合中导入,但很容易将整个Git repo从一个集合迁移到另一个集合

所以这里的诀窍是:

使用导入功能将数据从TFVC导入到源项目中的git repo

从源项目获取克隆URL

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

这就行了。git回购协议将克隆所有细节和历史记录。Git的可移植性使得这是一个无缝的过程。它可以从一个TFS服务器工作到另一个TFS服务器,也可以从任何其他Git提供商或Azure DevOps服务工作

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


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

在同一个组织/集合中,您确认了我的疑问。感谢在同一组织/集合中,您确认了我的疑问。谢谢我不懂这个诀窍,但谢谢你提供的补充信息。我想我们不去了
到Azure DevOps服务,但我们永远不知道。可能是一个集合,并在项目名称前加上团队名称。如你所愿,我不需要更多信息。一个项目可以有多个Git存储库。正确。这是目前为止在单个集合下排序代码的最简单解决方案。我处理过多个TB大小的集合,效果很好。我不明白其中的诀窍,但感谢您提供的补充信息。我不认为我们会使用Azure DevOps服务,但我们永远不知道。可能是一个集合,并在项目名称前加上团队名称。如你所愿,我不需要更多信息。一个项目可以有多个Git存储库。正确。这是目前为止在单个集合下排序代码的最简单解决方案。我处理过大小为多TB的集合,效果很好。