将VSTS Git仓库导入BitBucket时身份验证失败
解决VSTS迁移到BitBucket时的身份验证错误
我帮你排查过这类迁移问题,通常身份验证失败主要是凭据类型不对或者权限设置的问题,试试下面这些解决方案:
使用个人访问令牌(PAT)替代普通密码
VSTS(现在叫Azure DevOps)在第三方工具导入时,尤其是开启了多因素认证(MFA)的账号,普通密码会失效。你需要生成一个PAT作为密码使用:- 登录Azure DevOps,点击右上角头像 → 选择「个人资料」
- 进入「安全」标签页,找到「个人访问令牌」
- 创建新令牌,权限至少勾选「Code (Read)」,有效期可以设短一点(比如1天)
- 把生成的PAT复制下来,在BitBucket导入界面中,账号填你的VSTS用户名,密码填这个PAT
调整仓库URL格式,直接嵌入PAT
如果BitBucket的凭据输入界面还是有问题,可以把PAT直接嵌入到仓库URL里,格式如下:https://<你的VSTS用户名>:<PAT>@MYCOMPANY.visualstudio.com/DefaultCollection/_git/MYREPO把这个URL填入BitBucket的导入URL框,无需再单独填写凭据,直接尝试导入。
确认账号对目标仓库的读取权限
先在浏览器里打开你提供的VSTS仓库URL,确保能正常查看仓库内容,没有403权限错误。如果账号没有读取权限,联系VSTS管理员给你添加相应权限后再尝试迁移。替代方案:本地Git克隆后推送
如果上述方法都不行,可以绕开BitBucket的导入工具,用本地Git命令完成迁移:- 克隆VSTS仓库到本地:
克隆时会提示输入凭据,这里用VSTS用户名+PAT即可。git clone https://MYCOMPANY.visualstudio.com/DefaultCollection/_git/MYREPO - 在BitBucket创建一个空的目标仓库
- 进入本地克隆的仓库目录,添加BitBucket远程地址:
git remote add bitbucket https://<你的BitBucket用户名>@bitbucket.org/<你的团队名>/<目标仓库名>.git - 推送所有分支和标签到BitBucket:
git push --all bitbucket git push --tags bitbucket
- 克隆VSTS仓库到本地:
内容的提问来源于stack exchange,提问作者Savage
相关产品推荐
相关产品推荐

