执行git-tf checkin --deep遇权限拒绝,无法迁移TFVC代码
TFVC仓库迁移git-tf认证问题解决方案
核心问题说明
你遇到的认证错误本质是:当前Azure DevOps已淘汰传统用户名+密码的基本认证方式,必须使用**个人访问令牌(PAT)**替代账户密码进行认证,而非开启所谓的“基础认证”。
具体解决步骤
1. 创建Azure DevOps个人访问令牌(PAT)
- 登录你的Azure DevOps组织后台
- 点击右上角个人头像 → 个人访问令牌 → 新建令牌
- 配置权限:
- 作用域选择代码(完整),确保覆盖TFVC仓库的读写权限
- 有效期按需设置,建议选较短周期提升安全性
- 创建完成后立即复制令牌,关闭页面后无法再次查看
2. 使用PAT执行git-tf命令
执行git-tf checkin --deep时:
- 用户名输入你的Azure AD绑定邮箱
- 密码输入刚创建的PAT,而非你的AD账户密码
3. 清理无效凭据(可选)
如果之前输入过错误凭据导致缓存问题:
- 打开Windows凭据管理器:控制面板 → 用户账户 → 凭据管理器 → Windows凭据
- 搜索包含
dev.azure.com的相关凭据,如有则删除 - 也可通过命令行重置Git凭据:执行
git credential-manager-core erase,按提示输入https://dev.azure.com/你的组织名完成清除
4. 关于“基础认证设置”的说明
Azure DevOps组织层面已移除传统基础认证的开启入口,这是微软的安全策略要求,无需再寻找该设置。使用PAT是当前唯一合规的认证方式。
备选迁移方案(若git-tf仍有问题)
既然已用git-tfs克隆源仓库,可直接用git-tfs推送至目标TFVC:
- 添加目标仓库远程:
git tfs remote add --url https://dev.azure.com/你的组织名/项目名/_versionControl 目标仓库标识 - 推送全量历史:
git tfs push --all 目标仓库标识
内容的提问来源于stack exchange,提问作者Will
相关产品推荐
相关产品推荐

