remote: Repository not found.
pode ser uma mensagem de erro frustrantemente enganosa githubao tentar enviar para um controle remoto HTTPS onde você não tem permissões de gravação .
A tentativa de um controle remoto SSH no mesmo repositório mostra uma resposta 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.
"Os direitos de acesso corretos?"
Bem, por que você não disse isso?
Vale a pena notar que, embora o modo de falha SSH nesse cenário seja um pouco melhor, eu uso controles remotos HTTPS sobre SSH porque o
GitHub recomenda HTTPS sobre SSH .
Entendo que o GitHub usa "Não encontrado", onde significa "Proibido" em algumas circunstâncias, para evitar revelar inadvertidamente a existência de um repositório privado.
Solicitações que requerem autenticação retornarão 404 Not Found
, em vez de
403 Forbidden
, em alguns lugares. Isso evita o vazamento acidental de repositórios particulares para usuários não autorizados.
- GitHub
Essa é uma prática bastante comum na Web, na verdade é definida:
O código de status 404 (Não encontrado) indica que o servidor de origem não encontrou uma representação atual para o recurso de destino ou não está disposto a divulgar que existe.
- 6.5.4 404 Não encontrado, RFC 7231 HTTP / 1.1 Semântica e conteúdo (ênfase minha)
O que não faz sentido para mim é que, quando sou autenticado no GitHub usando um
auxiliar de credencial
e tenho acesso a esse repositório (tendo sido clonado e buscado com sucesso), o GitHub optaria por ocultar sua existência devido a falta de permissões de gravação.
A verificação de https://github.com/our-organisation/some-repository/ usando um navegador da web confirmou que eu não tinha permissões de gravação no repositório . Os administradores do GitHub de nossa equipe conseguiram conceder acesso de gravação à minha equipe em pouco tempo e eu fui capaz de aumentar a ramificação.
git remote add origin git@github.com:account-name/repo-name.git
. Existe no GitHub e é um repositório particular.