Azure DevOps跨租户迁移TFVC仓库可行方案咨询
跨租户TFVC仓库迁移可行方案
前置准备
- 确保本地安装最新版
git-tfs,两个租户的Azure DevOps账号都已开通对应TFVC仓库的贡献者权限 - 提前在目标租户的目标TFVC项目下新建
migrated空文件夹,可直接通过Azure DevOps网页端操作,无需使用命令行工具处理
迁移步骤
- 拉取源TFVC全量历史到本地Git仓库
无需使用中转临时Git仓库,直接在本地新建空目录,执行命令拉取源租户的TFVC内容:
拉取完成后进入该本地仓库目录,执行git tfs clone https://dev.azure.com/源租户组织名/ "$/源团队项目/源分支" --deepgit log确认所有历史提交都已完整拉取。 - 绑定目标TFVC仓库配置
移除本地仓库原来绑定的源租户tfs远程配置,替换为目标租户配置即可,无需使用configure命令:
配置完成后验证配置是否正确:# 移除源租户绑定配置 git config --remove-section tfs-remote.default # 新增目标租户绑定配置 git config tfs-remote.default.url https://dev.azure.com/目标租户组织名/ git config tfs-remote.default.repository "$/目标团队项目/migrated"git config --list | findstr tfs-remote # Windows环境执行 git config --list | grep tfs-remote # Mac/Linux环境执行 - 拉取目标端基线内容
拉取目标TFVC的空目录内容,避免后续提交冲突:
此时目标端为空目录,不会产生内容冲突,直接接受合并结果即可。git tfs pull - 提交内容到目标TFVC
如需保留所有历史提交记录,执行以下命令即可完成迁移:
如只需合并为单条提交迁移,先执行git tfs checkin --deep --metadatagit reset --soft tfs/default,完成普通提交后再执行git tfs checkin即可。
问题规避
- 若出现身份验证错误,直接在弹出的Azure DevOps登录窗口选择目标租户的账号登录即可,最新版
git-tfs已支持OAuth登录,无需使用已弃用的基础身份认证 - 若checkin过程中出现路径错误,检查
$/目标团队项目/migrated路径是否在目标租户中真实存在,且当前账号有权限提交内容
内容的提问来源于stack exchange,提问作者Anatoly Z.
相关产品推荐
相关产品推荐

