You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将TFS 2017中的TFVC代码迁移至Azure DevOps Services

迁移TFS 2017 TFVC仓库到Azure DevOps Services TFVC(保留完整历史)

官方原生迁移方案(优先推荐)

  • 直接用Azure DevOps原生支持的TFVC迁移流程,无需第三方工具:

    1. 先在Azure DevOps Services的目标项目里创建一个空的TFVC仓库。
    2. 用Visual Studio连接到TFS 2017的源TFVC仓库,创建本地工作区时勾选"获取所有版本",拉取完整历史数据。
    3. 将该工作区的映射路径切换到Azure DevOps Services的目标TFVC仓库。
    4. 选择命令行或Visual Studio操作完成历史迁移:
      命令行执行以下指令(替换为你的实际项目路径):
      tf merge /recursive /force /version:C1~T $/SourceTFVCRoot $/TargetTFVCRoot
      
      或者在Visual Studio源代码管理资源管理器中,右键源路径选择"迁移历史",按向导完成操作。
    5. 提交所有迁移变更后,检查目标仓库的变更集、分支、标签是否完整。
  • 关键注意点:

    • 迁移期间暂停源仓库的所有提交,避免变更遗漏。
    • 本地工作区需预留足够存储空间,要存放所有历史版本数据。
    • 权限、工作项关联需手动同步到目标仓库,迁移工具不会自动处理这类配置。

第三方工具辅助方案

  • 使用Azure DevOps Migration Tools(这款工具主打工作项迁移,但也支持TFVC到TFVC的历史同步):
    1. 下载工具并配置JSON文件,填入源TFS 2017和目标Azure DevOps Services的组织URL、项目名称、仓库路径。
    2. 启用TFVC迁移模块,默认会迁移全量历史,也可指定变更集范围。
    3. 运行工具启动迁移,它会自动遍历源仓库的所有变更集并同步到目标TFVC仓库。

关于"TFVC转Git再转回TFVC"的问题

这种方式会丢失TFVC特有的元数据,比如变更集与工作项的绑定关系、原始分支的历史轨迹、标签的精确关联,而且转回TFVC时无法还原原始的变更集结构,完全不推荐用于需要保留完整历史的场景。

内容的提问来源于stack exchange,提问作者VijayCBH

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 05:22:08