已添加第三方Azure DevOps远程源,为何无法在界面推送分支?
问题原因与解决方案
1. Azure DevOps PR界面看不到自定义远程源的原因
Azure DevOps网页端的Pull Request功能是组织内仓库专属的协作工具,它只会识别当前组织下的仓库,不会读取你本地Git配置的自定义远程源(some_name)。PR的目标仓库必须是当前Azure DevOps组织内已关联的仓库,无法直接选择外部组织的仓库作为PR目标。
如果要推送到第三方Azure DevOps仓库,不能通过网页端PR界面操作,必须用本地Git命令或Visual Studio的Git手动推送功能。
2. Visual Studio 2022看不到推送至some_name选项的原因及解决
可能的原因:
- 权限不足:你对测试仓库只有部分权限,可能缺少
推送分支的权限(Azure DevOps中需要至少Contributor角色,或单独配置Push权限);第三方仓库你还未获得权限,即使配置了remote也无法正常推送,VS会隐藏无效的推送选项。 - VS默认显示逻辑:Visual Studio的Git推送选项默认优先显示当前项目关联的Azure DevOps组织内仓库,自定义添加的远程源需要手动选择。
解决方法:
- 手动选择远程源推送:在Visual Studio中,打开Git菜单 → 选择"推送",在弹出的推送窗口中,点击远程源的下拉框,手动选择你添加的
some_name,然后选择要推送的分支完成推送。 - 使用Git命令行推送:直接在终端执行命令:
# 推送main分支到第三方仓库 git push some_name main # 推送本地新建分支到第三方仓库 git push some_name <你的本地分支名> - 确认权限:联系第三方或测试仓库管理员,确保你拥有仓库的Contributor角色(或至少包含Push权限),权限生效后VS会正常识别推送选项。
3. 第三方仓库报错的后续处理
等待第三方排查仓库错误期间,可先确保本地SSH配置正确:
- 验证SSH密钥是否已添加到第三方Azure DevOps账户的SSH密钥列表中
- 用命令测试连接:
如果返回仓库分支信息,说明连接正常;若仍报错,继续等待第三方修复仓库问题。git ls-remote some_name
内容的提问来源于stack exchange,提问作者KeithViking
相关产品推荐
相关产品推荐

