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

从TFVC迁移至Git:Azure DevOps中如何迁移多分支并保留关联?

迁移TFVC双分支到Git并保留关联的实操步骤

我之前刚好处理过类似的需求,知道Azure DevOps自带的Import工具只能单分支迁移,所以得结合官方推荐的工具来完成双分支迁移,还能完美保留分支间的关联关系,让你后续在Release_1.0修bug后正常合并回Dev。

第一步:用Import工具迁移Dev分支作为Git仓库起点

  • 按照你说的路径操作:Repos -> Files -> [New Git Repository] -> 点击「Import」按钮
  • 源选择你的TFVC仓库的$/MyProject/Dev分支,完成初始迁移。这时候你的Git仓库就有了Dev分支的完整历史,作为后续操作的基础。

第二步:用git-tfs迁移Release_1.0分支并关联历史

因为Import工具无法往已有Git仓库添加分支,所以得用git-tfs这个官方工具来处理分支迁移,它能保留TFVC里的分支关联和合并历史:

  1. 先在本地安装git-tfs(可以通过Chocolatey包管理工具安装,或者直接下载官方安装包)
  2. 打开命令行,把刚创建的Git仓库克隆到本地:
    git clone <你的Azure DevOps Git仓库URL>
    
  3. 进入本地仓库目录,添加TFVC仓库的远程源:
    git tfs init http://<你的Azure DevOps服务器地址>/tfs/<项目集合名> $/MyProject
    
  4. 抓取TFVC中Release_1.0分支的所有历史到本地:
    git tfs fetch $/MyProject/Release_1.0 --branches=all
    
  5. 将抓取到的TFVC分支转换为本地Git分支:
    git checkout -b Release_1.0 remotes/tfs/Release_1.0
    
  6. 最后把这个本地分支推送到Azure DevOps的Git仓库:
    git push origin Release_1.0
    

第三步:验证分支关联与工作流

现在你的Git仓库里已经有Dev和Release_1.0两个分支了,而且因为git-tfs完整保留了TFVC中的历史关联,你可以:

  • 在Release_1.0分支上正常提交bug修复
  • 发起Pull Request把修复内容合并回Dev分支
  • 完全沿用你之前在TFVC里的工作流,没有任何断层

额外注意事项

  • 迁移前建议暂停TFVC仓库的所有提交,避免迁移过程中出现变更遗漏
  • 如果TFVC的两个分支之前有过合并历史,git-tfs会自动处理这些合并关系,确保Git仓库里的历史是完整且准确的
  • 迁移完成后,可以在Azure DevOps的Git仓库中设置分支保护策略,比如要求Release_1.0分支的变更必须通过PR才能合并到Dev,和你之前的流程对齐

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:41:08