尝试对私有托管的Git存储库进行简单更改
使用GitHub。我克隆了存储库,进行了更改,然后将其推向了
评论。 git push
没有成功,我想也许我已经胖了
克隆存储库时的远程URL(但不能正确,因为
我成功克隆了存储库,对吧?)。我尝试删除
重新添加遥控器,但推送仍然失败:
说明问题:
% git remote -v
origin https://github.com/our-organisation/some-repository.git (fetch)
origin https://github.com/our-organisation/some-repository.git (push)
% git fetch -v origin
From https://github.com/our-organisation/some-repository
= [up to date] MO_Adding_ECS_configs -> origin/MO_Adding_ECS_configs
= [up to date] update_gems -> origin/update_gems
% git push -v origin
Pushing to https://github.com/our-organisation/some-repository.git
remote: Repository not found.
fatal: repository 'https://github.com/our-organisation/some-repository.git/' not found
[某些名称可能已更改。]
为什么远程URL正确时GitHub为什么说“找不到存储库”?
答案 0 :(得分:0)
一些同事很有帮助地建议我尝试使用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 recommend HTTPS over SSH。
我知道GitHub使用“未找到”,在某些情况下它的意思是“禁止” 防止无意中发现私人存在的情况 资料库。这是网上相当普遍的做法。
需要身份验证的请求将返回
404 Not Found
,而不是403 Forbidden
,在某些地方。这是为了防止意外泄漏 私有存储库以供未经授权的用户使用。
对我来说毫无意义的是当我使用 credential helper 和我可以访问该存储库(已成功克隆和获取 它),因为缺少,GitHub会选择向我隐瞒它的存在 写入权限。
使用网络检查https://github.com/our-organisation/some-repository/ 浏览器确认我没有对该存储库的写权限。我们的 团队的GitHub管理员能够在短时间内授予我的团队写访问权限 时间,我得以将分支推高。
希望此问答对将来的人们有所帮助。