remote: Repository not found.
peut être un message d'erreur frustrant et trompeur de githublorsque vous essayez de pousser vers une télécommande HTTPS où vous n'avez pas d'autorisations d'écriture .
Essayer une télécommande SSH dans le même référentiel montre une réponse différente:
% 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.
"Les bons droits d'accès?"
Eh bien, pourquoi ne l'as-tu pas dit?
Il convient de noter à ce stade que bien que le mode d'échec SSH dans ce scénario soit légèrement meilleur, j'utilise des télécommandes HTTPS sur SSH car
GitHub recommande HTTPS sur SSH .
Je comprends que GitHub utilise "Introuvable" où il signifie "Interdit" dans certaines circonstances pour éviter de révéler par inadvertance l'existence d'un référentiel privé.
Les demandes qui nécessitent une authentification seront renvoyées 404 Not Found
, au lieu de
403 Forbidden
, à certains endroits. Il s'agit d'empêcher la fuite accidentelle de référentiels privés vers des utilisateurs non autorisés.
- GitHub
Il s'agit d'une pratique assez courante sur le Web, en effet elle est définie:
Le code d'état 404 (Not Found) indique que le serveur d'origine n'a pas trouvé de représentation actuelle pour la ressource cible ou n'est pas disposé à divulguer qu'elle existe.
- 6.5.4. 404 Introuvable, RFC 7231 HTTP / 1.1 Sémantique et Contenu (accent sur le mien)
Ce qui n'a aucun sens pour moi, c'est lorsque je suis authentifié auprès de GitHub à l'aide d'un
assistant d'identification
et que j'ai accès à ce référentiel (après l'avoir cloné et récupéré avec succès) que GitHub choisirait de me cacher son existence en raison d'autorisations d'écriture manquantes.
La vérification de https://github.com/our-organisation/some-repository/ à l' aide d'un navigateur Web a confirmé que je n'avais pas d'autorisations en écriture sur le référentiel . Les administrateurs GitHub de notre équipe ont pu accorder à mon équipe un accès en écriture en peu de temps et j'ai pu pousser la branche vers le haut.
git remote add origin git@github.com:account-name/repo-name.git
. Il existe dans GitHub, et c'est un dépôt privé.