将存储库从 TFVC 导入到 Git

Azure Repos |Azure DevOps Server 2020 |Azure DevOps Server 2019 |TFS 2018 |TFS 2017 更新2

可以将代码从现有 TFVC 存储库迁移到同一组织内的新 Git 存储库。 迁移到 Git 适用于大型 TFVC 存储库和团队。 集中式版本控制系统(如 TFVC)在基本方面与 Git 的行为不同。 此开关涉及的不仅仅是学习新的命令。 这是一种需要认真规划的中断性更改。 您需要考虑:

  • 修改工具和过程
  • 删除二进制文件和可执行文件
  • 培训团队

我们强烈建议在开始迁移之前,先阅读白皮书 集中的版本控制,将 git 和 TFVC 迁移到 git

导入体验非常适合小型简单的 TFVC 存储库。 这也适用于以前的白皮书中所述的 "已清理" 的存储库。 这些白皮书还针对更高级的 TFVC 存储库配置建议其他工具。

重要

由于 TFVC 和 Git 存储版本控制历史记录的方式不同,我们 建议 你不要迁移历史记录。 这是 Microsoft 在将 Windows 和其他产品从集中化版本控制迁移到 Git 时采取的方式。

导入存储库

  1. 选择 存储库Files

    查看分支

  2. 从 "存储库" 下拉菜单中选择 " 导入存储库"。

    导入存储库选项

  3. 从"源类型" 下拉列表中选择 "TFVC"

  4. 键入要导入到 Git 存储库的存储库/分支/文件夹的路径。 例如: $/Fabrikam/FabrikamWebsite

  5. 如果要从 TFVC 存储库迁移历史记录,请单击" 迁移 历史记录"并选择天数。 从最近的变更集开始,可以迁移最多 180 天的历史记录。 在迁移到 Git 的 1 个变更集的提交消息中添加指向 TFVC 存储库的链接。 这样,你可根据需要轻松查找较旧的历史记录。

  6. 为新的 Git 存储库命名,然后单击"导入 "。 根据导入的大小,Git 存储库将在几分钟后准备就绪。

    "导入存储库"对话框

  1. 从存储库下拉列表中,选择"导入存储库"。

导入存储库选项

  1. 从"源类型" 下拉列表中选择 "TFVC"

  2. 键入要导入到 Git 存储库的存储库/分支/文件夹的路径。 例如: $/Fabrikam/FabrikamWebsite

  3. 如果要从 TFVC 存储库迁移历史记录,请单击" 迁移 历史记录"并选择天数。 从最近的变更集开始,可以迁移最多 180 天的历史记录。 在迁移到 Git 的 1 个变更集的提交消息中添加指向 TFVC 存储库的链接。 这样,你可根据需要轻松查找较旧的历史记录。

  4. 为新的 Git 存储库命名,然后单击"导入 "。 根据导入的大小,Git 存储库将在几分钟后准备就绪。

导入存储库对话框

重要

由于 TFVC 和 Git 存储版本控制历史记录的方式不同,我们 建议 你不要迁移历史记录。 这是 Microsoft 在将 Windows 和其他产品从集中化版本控制迁移到 Git 时采取的方式。

疑难解答

此体验针对已为迁移做好准备的小型、简单 TFVC 存储库或存储库进行了优化。 这意味着它有几个限制。

  1. 它仅迁移根或分支的内容。 例如,如果您有一个 TFVC 项目 $/Fabrikam ,其中有1个分支和1个文件夹,则要导入的路径 $/Fabrikam 将导入该文件夹,而 $/Fabrikam/<branch> 只会导入该分支。
  2. 导入的存储库和关联的历史记录 (如果导入) 的大小不能超过 1 GB。
  3. 最多可以导入180天的历史记录。

如果上述任何一项是你的导入的阻止程序,我们建议你尝试使用 git-TFS 等外部工具将我们的白皮书 集中版本控制 导入和读取到 Git 和 TFVC 到 git