GitHub Action推送代码报错:Repository not found 求助
排查GitHub Action推送私有仓库报错“remote: Repository not found.”的步骤
确认PAT的权限与有效性
检查你使用的Personal Access Token(PAT):- 必须勾选
repo权限(私有仓库推送必须要有这个权限),如果是组织仓库,还要确认未被组织权限策略限制。 - 确认PAT未过期、未被撤销,且所属账号确实是目标仓库
snowflakeTestRepos的协作者/组织成员,拥有push权限。
- 必须勾选
验证远程仓库URL的正确性
在GitHub Action脚本中,添加远程仓库的URL必须严格匹配:- HTTPS格式应为:
https://${{ secrets.TARGET_REPO_PAT }}@github.com/samyKheznadji/snowflakeTestRepos.git,注意组织名、仓库名的拼写(包括大小写,尽量完全匹配实际仓库名称)。 - 避免手动硬编码PAT,必须通过仓库A的Secrets传递,确认Secret的名称拼写正确,无空格或大小写错误。
- HTTPS格式应为:
检查GitHub Action脚本的执行逻辑
确保脚本在干净的Action环境中完成所有必要步骤:- 拉取仓库A代码并切换到
template分支:git checkout template - 添加目标远程仓库:
git remote add origin2 https://${{ secrets.TARGET_REPO_PAT }}@github.com/samyKheznadji/snowflakeTestRepos.git - 可选测试:执行
git ls-remote origin2,如果这一步报错,说明URL或PAT存在问题 - 执行推送命令:
git push origin2 template:dev
- 拉取仓库A代码并切换到
排除默认Token的干扰
GitHub Action默认提供的GITHUB_TOKEN仅拥有当前仓库的权限,无法访问其他私有仓库。确保你的脚本中完全使用自己创建的PAT,而非默认的GITHUB_TOKEN。检查Action的运行权限
在GitHub Action的Workflow文件中,可添加基础权限配置避免操作受限:permissions: contents: write注:目标仓库的访问权限仍由PAT决定。
内容的提问来源于stack exchange,提问作者samy KHEZNADJI
相关产品推荐
相关产品推荐

