remote: Repository not found.
może być frustrująco mylącym komunikatem o błędzie z githubpodczas próby przekazania do pilota HTTPS, na którym nie masz uprawnień do zapisu .
Próbowanie zdalnego SSH do tego samego repozytorium pokazuje inną odpowiedź:
% 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.
„Prawidłowe prawa dostępu?”
Więc dlaczego nie powiedziałeś?
Warto w tym miejscu zauważyć, że chociaż tryb awarii SSH w tym scenariuszu jest nieco lepszy, używam pilotów HTTPS zamiast SSH, ponieważ
GitHub zaleca HTTPS zamiast SSH .
Rozumiem, że GitHub używa „Nie znaleziono”, gdzie oznacza „Zabronione” w niektórych okolicznościach, aby zapobiec przypadkowemu zniesieniu istnienia prywatnego repozytorium.
Żądania wymagające uwierzytelnienia w niektórych miejscach zwracają 404 Not Found
zamiast
403 Forbidden
. Zapobiega to przypadkowemu wyciekowi prywatnych repozytoriów do nieautoryzowanych użytkowników.
- GitHub
Jest to dość powszechna praktyka w Internecie, w rzeczywistości jest zdefiniowana:
Kod stanu 404 (Nie znaleziono) wskazuje, że serwer źródłowy nie znalazł bieżącej reprezentacji zasobu docelowego lub nie chce ujawnić, że istnieje.
- 6.5.4. 404 Nie znaleziono, RFC 7231 HTTP / 1.1 Semantyka i treść (moje wyróżnienie)
Nie ma dla mnie sensu, gdy jestem uwierzytelniany w GitHub przy pomocy
pomocnika poświadczeń
i mam dostęp do tego repozytorium (po pomyślnym sklonowaniu i pobraniu go), że GitHub zdecydowałby się ukryć przede mną swoje istnienie z powodu braku uprawnień do zapisu.
Sprawdzanie https://github.com/our-organisation/some-repository/ za pomocą przeglądarki internetowej potwierdziło, że nie mam uprawnień do zapisu w repozytorium . Administratorzy GitHub naszego zespołu byli w stanie udzielić mojemu zespołowi prawa do zapisu w krótkim czasie i mogłem przyspieszyć rozwój gałęzi.
git remote add origin git@github.com:account-name/repo-name.git
. Istnieje w GitHub i jest to prywatne repozytorium.