Watch at Ease看见世界,读懂生活。

技术 · 实用指南

GitHub 提示“Repository not found”?先证明 URL 与登录账号,再更换凭据

保留实际 fetch/push URL,确认 Git 真正使用的账号、仓库权限与 SSO 状态,只修复一个已证实的边界,并用远端引用查询验收。

原创示意图,区分有效远端 URL、认证账号、仓库权限与 SSO 授权。
原创插画:在不暴露凭据的前提下证明 URL、身份、权限和 SSO。 Watch at Ease

GitHub 的 `Repository not found` 可能来自错误或被重写的 URL、错误的缓存账号、缺少仓库权限,或一个有效但尚未获组织 SSO 授权的凭据。浏览器页面只证明浏览器会话。

先保存实际远端和失败操作,再确认 HTTPS 或 SSH 使用的账号、仓库访问权与 SSO。只更改一个有证据的边界,并以 `git ls-remote origin` 和原操作成功作为完成条件。

保留原操作与实际远端

记录失败的是 clone、fetch、pull 还是 push,并保存主机、owner、仓库名和不含秘密的完整错误。已有克隆中用 `git remote -v` 保存 fetch 与 push URL。

用 `git remote get-url --all origin` 及其 `--push` 形式查看重写后的有效 URL;`git ls-remote --get-url origin` 可在不联网时展开 rewrite。

以目标账号证明仓库与 URL

使用应当有权的账号登录浏览器,打开仓库页并从页面复制 clone URL。公开或未登录访问不能证明私有仓库权限。

逐项比对 host、owner、仓库名和传输方式。只有有效 URL 错误时才修改 origin;不要因为 not found 就删除工作树或新建仓库。

识别 Git 真正在用的凭据

HTTPS 下检查 credential helper 与它提供的账号,但不要打印 token。优先使用凭据管理器或 GitHub CLI 登录,不要把令牌写进 URL、shell 历史或日志。

SSH 下用 `ssh -T git@github.com` 确认所用密钥对应的账号。认证成功不等于仓库授权,仍需单独检查权限与 SSO。

检查权限、邀请与 SSO

确认该账号是 owner、已接受邀请的 collaborator,或属于拥有读取权限的 team。待接受邀请或授给另一账号的权限都不成立。

启用 SAML SSO 的组织要求 HTTPS token 或 SSH key 获得组织授权。不要盲目扩大 token scope,应完成必要的 SSO 授权。

只修复已证明的边界

按证据只做一项:纠正 URL、切换 HTTPS 账号、选择正确 SSH key、接受邀请、请求权限或授权 SSO。

不要 force push、删除 `.git`、覆盖未提交工作、把 token 放进 URL,或同时轮换全部凭据。这些动作会增加风险并破坏比较证据。

以远端引用与原操作验收

完成单项修改后运行 `git ls-remote origin`。收到 refs 说明 Git 已按当前传输访问有效远端;保存不含凭据的结果。

然后重试原 clone、fetch、pull 或 push。若仍 not found,就回到 URL、账号、权限或 SSO 的确切分支,不再叠加无关修复。

原创示意图,展示保存证据、只改一个边界、查询远端引用并重试原操作。
原创插画:只改一个已证明的边界,再以远端引用完成验收。 Watch at Ease