SSH测试GitHub认证成功 推送代码到playwright仓库提示无法读取远程仓库
问题原因
- 核心原因:
microsoft/playwright是微软官方维护的开源仓库,默认仅授予仓库核心维护者直接推送代码的权限,普通贡献者没有直接推送至上游仓库的权限 - 次要排查项:本地Git身份配置和SSH密钥映射异常,包括本地Git配置的用户名/邮箱与绑定SSH密钥的GitHub账号不匹配、多SSH密钥环境下未指定对应账号的密钥文件、对应账号未被添加上游仓库的协作者权限
解决方法
方案一:使用标准开源项目贡献流程(适用于普通贡献者)
- 打开GitHub的
microsoft/playwright仓库页面,点击右上角的Fork按钮,将仓库复刻到你个人的GitHub账号下 - 进入本地克隆的playwright仓库目录,执行命令添加你个人复刻仓库的远端地址:
git remote add fork git@github.com:你的GitHub用户名/playwright.git - 将本地开发完成的分支推送至你个人的复刻仓库:
git push fork 你要推送的本地分支名 - 打开你个人复刻的playwright仓库页面,提交Pull Request到上游的
microsoft/playwright仓库,等待仓库维护者审核合并即可
方案二:排查本地配置异常(适用于已获得上游仓库推送权限的用户)
- 执行以下命令检查本地Git身份配置是否与你有权限的GitHub账号一致:
git config user.namegit config user.email
如果配置不匹配,可执行以下命令修改(全局配置添加--global参数,仅修改当前仓库配置则省略):git config --global user.name "你的GitHub用户名"git config --global user.email "你绑定GitHub的邮箱地址" - 如果你本地配置了多个GitHub账号的SSH密钥,需要编辑
~/.ssh/config文件指定对应账号的密钥映射,添加如下配置:
Host github.com HostName github.com User git IdentityFile ~/.ssh/对应账号的SSH私钥文件名 IdentitiesOnly yes
- 联系上游仓库管理员确认你的GitHub账号已被添加到协作者列表,且已分配代码推送权限
内容的提问来源于stack exchange,提问作者philomath
相关产品推荐
相关产品推荐

