remote: Repository not found.
可能是令人沮丧的令人误解的错误消息,来自 的github当尝试推送到没有写权限的HTTPS远程服务器时。
尝试到同一存储库的SSH远程显示不同的响应:
% git remote add ssh git@github.com:our-organisation/some-repository.git
% git fetch ssh
From github.com:our-organisation/some-repository
* [new branch] MO_Adding_ECS_configs -> ssh/MO_Adding_ECS_configs
* [new branch] update_gems -> ssh/update_gems
% git push ssh
ERROR: Repository not found.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
“正确的访问权限?”
那么你为什么不这么说呢?
值得注意的是,虽然在这种情况下SSH失败模式稍微好一些,但我使用SSH 上的 HTTPS远程方式,因为GitHub 建议使用SSH
上的HTTPS。
我了解GitHub在某些情况下使用“未找到”的意思是“禁止”,以防止无意中发现私有存储库的存在。
需要身份验证的请求在某些地方将返回404 Not Found
,而不是
403 Forbidden
。这是为了防止私有存储库意外泄露给未经授权的用户。
- GitHub上
这是网上相当普遍的做法,实际上它的定义是:
404(未找到)状态代码表示原始服务器未找到目标资源的当前表示,或不愿意透露该资源的存在。
- 6.5.4。找不到404,RFC 7231 HTTP / 1.1语义和内容(重点是我的)
对我来说没有意义的是,当我使用凭据帮助程序
通过GitHub进行身份验证
并且可以访问该存储库(已成功克隆并获取该存储库)时,由于缺少写入权限,GitHub会选择向我隐藏其存在。
使用网络浏览器检查https://github.com/our-organisation/some-repository/,确认我没有对该存储库的写权限。我们团队的GitHub管理员能够在短时间内授予我的团队写访问权限,而我能够推动分支发展。
git remote add origin git@github.com:account-name/repo-name.git
。它存在于GitHub中,是一个私有仓库。