remote: Repository not found.
puede ser un mensaje de error frustrantemente engañoso de githubcuando intente pasar a un control remoto HTTPS donde no tiene permisos de escritura .
Intentar un control remoto SSH en el mismo repositorio muestra una respuesta diferente:
% 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.
"¿Los derechos de acceso correctos?"
Bueno, ¿por qué no lo dijiste?
Vale la pena señalar en este punto que si bien el modo de falla SSH en este escenario es ligeramente mejor, uso controles remotos HTTPS sobre SSH porque
GitHub recomienda HTTPS sobre SSH .
Entiendo que GitHub usa "No encontrado" donde significa "Prohibido" en algunas circunstancias para evitar deleitar inadvertidamente la existencia de un repositorio privado.
Las solicitudes que requieren autenticación volverán 404 Not Found
, en lugar de hacerlo
403 Forbidden
, en algunos lugares. Esto es para evitar la fuga accidental de repositorios privados a usuarios no autorizados.
- GitHub
Esta es una práctica bastante común en la web, de hecho se define:
El código de estado 404 (No encontrado) indica que el servidor de origen no encontró una representación actual para el recurso de destino o no está dispuesto a revelar que existe.
- 6.5.4. 404 no encontrado, RFC 7231 HTTP / 1.1 Semántica y contenido (énfasis mío)
Lo que no tiene sentido para mí es cuando estoy autenticado con GitHub usando un
asistente de credenciales
y tengo acceso a ese repositorio (habiéndolo clonado y obtenido con éxito) de que GitHub elegiría ocultarme su existencia debido a la falta de permisos de escritura.
Verificando https://github.com/our-organisation/some-repository/ usando un navegador web confirmó que no tenía permisos de escritura en el repositorio . Los administradores de GitHub de nuestro equipo pudieron otorgarle acceso de escritura a mi equipo en poco tiempo y pude impulsar la rama.
git remote add origin git@github.com:account-name/repo-name.git
. Existe en GitHub, y es un repositorio privado.