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 в этом сценарии немного лучше, я использую удаленные HTTPS через SSH, потому что
GitHub рекомендует HTTPS через SSH .
Я понимаю, что в некоторых случаях GitHub использует «Not Found», где оно означает «Forbidden», чтобы предотвратить случайное использование частного хранилища.
Запросы, требующие аутентификации, будут возвращаться 404 Not Found
, а не
403 Forbidden
в некоторых местах. Это необходимо для предотвращения случайной утечки частных репозиториев неавторизованным пользователям.
- GitHub
Это довольно распространенная практика в Интернете, она действительно определяется:
Код состояния 404 (не найден) указывает на то, что исходный сервер не нашел текущее представление для целевого ресурса или не хочет раскрывать его.
- 6.5.4. 404 Not Found, 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 и является частным репозиторием.