Git Push ERROR: Repositório não encontrado

355

Estou tendo um problema muito estranho com gite github. Quando tento empurrar, recebo:

git push -u origin master
ERROR: Repository not found.
fatal: The remote end hung up unexpectedly

Eu adicionei o controle remoto:

git remote add origin [email protected]:account-name/repo-name.git

Alguma ideia?

Justin
fonte
2
Sim, é assim que eu tenho o git remote add origin [email protected]:account-name/repo-name.git. Existe no GitHub e é um repositório particular.
Justin
11
você checou seu nome de usuário e repo?
Thescientist 12/04/12
2
fez u mudar seu nome de usuário github
Ankit
2
Alguma chance de isso estar relacionado às permissões de leitura / gravação no repositório? Tenho uma leitura única repo e eu recebo essa mensagem quando tento empurrar algo
Michael
3
Eu tive o mesmo problema. Eu o resolvi atualizando o arquivo .git / config. Coloquei o nome de usuário na chave URL da [remote "origin"]seção.
Ahmed Jehanzaib

Respostas:

513

Verifique se você tem acesso de leitura e gravação.

A mensagem de erro do Git é enganosa. Eu tive uma questão semelhante. Eu fui adicionado a um projeto existente. Eu o clonei e cometi uma mudança local. Fui empurrar e recebi a ERROR: Repository not found.mensagem de erro.

A pessoa que me adicionou ao projeto me deu acesso somente leitura ao repositório. Uma mudança por eles e eu fui capaz de pressionar.

JT.
fonte
290
Preciso amar essas mensagens de erro úteis do Git. Não consegue encontrar o repositório do qual acabei de clonar, hein? Mentiroso.
Grant Birchmeier
sim mesmo problema aqui - sem comprometer os direitos e você receber essa mensagem de erro muito ofuscado <suspiro>
rogerdpack
12
@GrantBirchmeier Quero votar 100 vezes para o seu comentário.
technophyle
16
Obrigado! Você pode verificar isso através da visualização do projeto na web e clicar em "New File"
Ronnie
2
Então, para mim, minha senha tinha um `(tick) e o PhpStorm estava removendo o caractere antes de enviar o git push: Digamos que, para este exemplo, minha senha seja _pa``ssword_ Phpstorm produziria o seguinte: em https://_username_:[email protected]/_username_/repo.git vez de https://_username_:_pa``[email protected]/_username_/repo.git Senha alterada para algo que não esteja usando o` personagem. TRABALHO!!!
Ruben Arevalo
128

Encontrei o mesmo problema e o resolvi incluindo meu nome de usuário e senha no URL do repositório:

git clone https://myusername:[email protected]/path_to/myRepo.git
George Eracleous
fonte
29
Isso funcionou para mim adicionando apenas meu nome de usuário:https://[email protected]/path_to/myRepo.git
redolent
5
isso funciona, mas é claro que muitas pessoas considerariam um problema de segurança; use com cautela
Alexander Mills
Isso funcionou para mim. Eu já havia usado o Git Bash anteriormente para uma conta diferente e não conseguia descobrir como alterar a conta, então pronto. Não gosto, mas funciona.
precisa saber é o seguinte
11
Como acompanhamento do meu comentário original, depois de enviar com êxito uma vez, você pode usar o git remote set-url origin urlcomando para alterar o URL de origem para a mesma coisa sem o nome de usuário e a senha, e então funciona bem.
precisa saber é o seguinte
11
Você acabou de salvar meu amigo do dia! Felicidades!
Eldho Paul Konnanal 30/07/2018
105

Eu tive o mesmo problema, com um repo privado.

faça o seguinte:

remova a origem remota

git remote rm origin

adicione novamente a origem, mas com seu nome de usuário e senha com privilégios de escrita neste repositório pvt

git remote add origin  https://USERNAME:[email protected]/username/reponame.git
Emi-C
fonte
12
E se a senha tiver @?
precisa saber é o seguinte
16
@AnupamChugh, você precisa substituir '@' por '% 40' na sua senha. Basicamente, você pode verificar executando o código JSencodeURIComponent(password)
elquimista 17/10
11
Eu recomendo usar um ajudante de credenciais em vez de armazenar sua senha em texto simples: help.github.com/articles/caching-your-github-password-in-git
Johnsyweb
2
Obrigado ajudou sem nenhum problema!
Matan Dahan
4
Finalmente! O problema é para o representante privado. Isso funcionou se você tem um Repo Privada e gettting esse erro seguindo as instruções do cubo Git para empurrar um repo existente do local em Xcode para remoto no Github: $ git push -u origin master remote: Repository not found. fatal: repository 'https://github.com/teksunios/Abc.git/' not found
iHarshil
67

Eu estava recebendo o mesmo erro

ERROR: Repository not found.   
fatal: The remote end hung up unexpectedly

e eu criei o repositório no Github e o clonei localmente.

Eu era capaz de resolver abrindo .git / config e removendo a [remote "origin"]seção.

[remote "origin"]   
   url = [email protected]:alexagui/my_project.git  
   fetch = +refs/heads/*:refs/remotes/origin/*

então eu corri o seguinte (novamente)

git remote add origin [email protected]:alexagui/my_project.git  
git push -u origin master

e desta vez fui capaz de enviar para o repositório.

Alex Aguilar
fonte
3
Você poderia explicar como você abriu o .git / config e remove a seção [remote "origin"]?
Davi Moreira
Eu vim aqui procurando respostas para um problema semelhante. Eu criei um novo repositório a partir do IntelliJ IDEA, mas recebi a mesma mensagem de erro quando tentei fazer meu push inicial. A resposta de Alex Aguilar me inspirou a entrar no arquivo .git / config e editar a URL do repositório para que ele usasse meu nome de usuário com uma primeira letra maiúscula, o que inicialmente não fazia. Corrigiu o meu problema.
Vallle
O .git/diretório pode ser encontrado no diretório raiz do projeto.
Gui Imamura
Que também corrigiu o problema para mim - eu tentei trocar de usuário no meio de um projeto e que abriu um mundo de dor
gotofritz
por que isso seria necessário? Mudei meu nome de usuário e agora estou enfrentando todos os tipos de problemas.
HighOnMeat
46

Se você usa o Git no Windows , tente limpar suas credenciais:

  1. Localize "gerenciador de credenciais" (deve estar no seu Painel de Controle)
  2. Remova todas as credenciais relacionadas ao GitHub

insira a descrição da imagem aqui

SandroMarques
fonte
3
Nice - obrigado por esta dica de sucesso! BTW, com o seguinte comando, você pode navegar diretamente para o gerenciador de credenciais: "control.exe / nome Microsoft.CredentialManager"
Chris
Obrigado, isso salvou meu dia.
Amy
isso salvou meu dia!
precisa saber é o seguinte
11
A única coisa aqui que funcionou para mim
WHOATEMYNOODLES 08/08/19
Isso funcionou, eu tinha outra conta no github que causou o problema
Mokhtar Ashour
27

Eu recebi esse erro (mas antes estava funcionando). Meu problema era a chave ssh ausente associada à conta do Github. Você pode verificar suas chaves ssh atuais com ssh-add -l.

Se sua chave estiver faltando, você poderá adicioná-la com

ssh-add ~/.ssh/your_key
Matteo Alessani
fonte
2
Alterei minha conta do github e, portanto, tive que alterar minha chave ssh existente. Sua correção fez o truque, obrigado!
22613 Thomas Potaire
Solução mais fácil que funcionou para mim. Obrigado!
Dominique Paul
23

Eu tive um problema parecido. As credenciais incorretas foram armazenadas em cache no conjunto de chaves do OS X.

Confira: https://help.github.com/articles/updating-credentials-from-the-osx-keychain

Nikola
fonte
3
Mesmo problema. Recebo remote: Repository not found.ao acessar um repositório particular. Foi porque ainda estava conectado ao repositório com credenciais antigas (mesmo com novas na configuração git local). Para corrigir 1) remova a chave do chaveiro. 2) execute o comando no terminal novamente. 3) Deve solicitar nome de usuário e senha.
Nik Kov
2
Isso corrigiu o problema para mim. Cancelei as credenciais no chaveiro, obtive um novo token de acesso pessoal via GUI do Github e estou pronto e funcionando, obrigado.
26417 Anthony
A resposta de @ Antoine é o que aconteceu comigo. Infelizmente, encontrei isso depois de corrigir o problema. No meu caso, acabei de ativar o 2FA (autenticação de dois fatores) (TFA). Isso quebrou minha senha. Portanto, limpei as credenciais (como disseram as pessoas nesta página), mas a recolocação de um repo ainda falhou com minha senha (acho que devido ao 2FA). Então, criei o Personal Access Token ( help.github.com/articles/… ) para usar no lugar da senha. Eu dei acesso ao repositório apenas porque está na linha de comando.
cwingrav
19
git remote rm origin
git remote add origin <remote url>
Kirill Evgenevich
fonte
Trabalhou para mim. Esse problema começou após a atualização do git.
karthikdivi
Isso funcionou para mim alternando o URL https com o git @ one.
Skoua 16/01/19
17

Estou usando o Mac e lutei para encontrar a solução. Meu endereço remoto estava certo e, como dito, era um problema de credenciais . Aparentemente, no passado, eu usei outra conta Git no meu computador e o Keychain do mac lembrava as credenciais da conta anterior, então eu realmente não estava autorizado a enviar.

Como consertar? Abra o Acesso ao chaveiro no seu mac, escolha a categoria "Todos os itens" e procure o git. Excluir todos os resultados encontrados.

Agora vá para o terminal e tente empurrar novamente. O terminal solicitará nome de usuário e senha. Digite as novas credenciais relevantes e pronto!

Espero que ajude alguém. Eu lutei por algumas horas.

Gal Shahar
fonte
11
Obrigado obrigado obrigado obrigado obrigado obrigado !!!!! Eu já estava batendo com a cabeça na parede.
potibas
Isso realmente ajudou. Tentei de tudo e simplesmente não conseguia entender. Push, Pull CLone, funciona no IntelliJ, mas não no Terminal. Depois de limpar o chaveiro, ele funciona como mágica.
Achyut 27/08/19
Para o macOS, essa foi a única solução que funcionou para mim. Obrigado.
Niraj 6/01
14

remote: Repository not found. pode ser uma mensagem de erro frustrantemente enganosa ao tentar enviar para um controle remoto HTTPS onde você não tem permissões de gravação .

Verifique suas permissões de gravação no repositório!

A tentativa de um controle remoto SSH no mesmo repositório mostra uma resposta diferente:

% git remote add ssh [email protected]: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.

Johnsyweb
fonte
10

Se o seu repositório estava funcionando normalmente antes e, de repente, esse erro aparecia, provavelmente o motivo seria que o seu git foi autenticado como outro usuário, que não tem acesso ao repositório . Portanto, para enviar por push, tudo o que você precisa fazer é especificar seu nome de usuário e senha corretos no seu comando git. Portanto, um comando push para um repositório github seria semelhante a:

git push https://youruser:[email protected]/user/reponame.git

username and passwordprecisa ser escapado por URL, portanto, um @ deve ser substituído por % 40 e assim por diante.

MrClan
fonte
Isso funcionou para mim pela primeira vez. Criei o problema inicialmente excluindo o arquivo .gitconfig de C: / users / {nomedeusuário}
Mike Upjohn
9

Se você pertence a um grupo no Github, verifique se você tem acesso de gravação.

Eduardo Chongkan
fonte
11
Como exatamente alguém faz isso? Seria mais completo se você pudesse adicionar essas informações.
Renato Back
2
acabou de chegar ao seu repositório git e clique em qualquer arquivo e tente editá-lo.Se você não tiver acesso de gravação, será exibido um erro como "você está tentando editar um arquivo ..."
mohor chatt
3
Uma maneira rápida de verificar é clicar Create new file. Se você receber uma mensagem dizendo "Você está criando um arquivo em um projeto ao qual não tem acesso de gravação", não terá acesso de gravação.
wisbucky
8

Teve problema semelhante. A raiz do problema foi que eu segui um tutorial on-line sobre como adicionar um novo repositório ao Github.

Basta ir ao Github, criar um novo repositório, ele solicitará que você adicione um README, não o adicione . Crie-o e você receberá instruções sobre como enviar por push.

É semelhante às próximas duas linhas:

git remote add origin https://github.com/YOUR_USER/your-repo.git
git push -u origin master
valk
fonte
8

Isso resolveu meu problema.

   git pull https://myusername:[email protected]/path_to/myRepo.git
Eyad Farra
fonte
8

Foi o que funcionou para mim:

1. Os controles remotos

$ git remote rm origin
$ git remote add origin [email protected]:<USER>/<REPO>.git

Se sua chave SSH já estiver em uso em outro representante do github, você poderá gerar uma nova.

2. Gerando uma nova chave SSH

$ ssh-keygen -t rsa -b 4096 -C "[email protected]"

3. Adição da chave no nível do agente SSH

$ eval "$(ssh-agent -s)"
$ ssh-add ~/.ssh/id_rsa_github

4. Adicione a nova chave ao repositório do Github.

120DEV
fonte
7

Um problema, que pode ser óbvio para alguns que não vejo mencionado aqui, pode ser que você tenha acesso com chaves ssh, mas está tentando conectar seu repositório local a um controle remoto via https.

Se for esse o caso, os seguintes comandos devem corrigir o problema:

$ git remote -v
origin  https://github.com/private-repo.git (fetch)
origin  https://github.com/private-repo.git (push)
$ git remote rm origin
$ git remote add origin [email protected]:private-repo.git
$ git remote -v
origin  [email protected]:private-repo.git (fetch)
origin  [email protected]:private-repo.git (push)

Observe que o acima funciona assumindo que:

  1. seu controle remoto atual é nomeado origine você já possui uma chave ssh gerada conectada à sua conta do github

  2. você já tem uma chave ssh associada à sua conta do github (e conectada localmente)

  3. você tem as permissões corretas (leitura / gravação) definidas no github para as configurações deste repositório.

John Donner
fonte
Isso funcionou para mim. Mas qual foi a mudança radical? Ele estava funcionando bem na outra semana e esse foi um repo que tive por anos.
Dylan Nissley 12/04/19
@DylanNissley talvez as configurações de segurança do repo tenham mudado? Não tenho certeza, para ser sincero. : /
John Donner
6

Você precisa verificar seu acesso SSH da seguinte maneira:

ssh -T [email protected]

esse problema ocorreu porque eu não adicionei a resposta da pessoa no SSH no repositório, leia mais sobre o SSH link-1 , link-2 .

Mohamed Yakout
fonte
Isso mostrou um problema com várias chaves e um arquivo de configuração que não estava funcionando. Obrigado pela dica.
Dibs
5

O seguinte resolveu o problema para mim.

Primeiro, usei este comando para descobrir qual foi a conta do github usada:

ssh -T [email protected]

Isso me deu uma resposta como esta:

Hi <github_account_name>! You've successfully authenticated, but GitHub does not provide shell access. I just had to give the access to fix the problem.

Entendi que o usuário do Github descrito na resposta (github_account_name) não estava autorizado no repositório do Github que estava tentando extrair.

Stéphane
fonte
O que fazer se eu recebo este erro:The authenticity of host 'github.com (192.30.253.112)' can't be established. RSA key fingerprint is SHA256.... Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'github.com,192.30.253.112' (RSA) to the list of known hosts. Permission denied (publickey).
Nik Kov
5

Aqui está como resolver meu problema

#check current github account
ssh -T [email protected]

#ensure the correct ssh key used with github
ssh-agent -s
ssh-add ~/.ssh/YOUR-GITHUB-KEY

#re-add the origin
git remote add origin [email protected]:YOUR-USER/YOUR-REPO.GIT
git push -u origin master
Nam G VU
fonte
4

Se alguém enfrentou o problema no github.com, verifique se você aceitou um convite depois que o proprietário do repositório permitido se comprometer com você. Até você aceitar o repo do convite, ficará invisível para você. Então você teráERROR: Repository not found.

zeliboba
fonte
Obrigado, isso resolveu o meu problema.
Glen
11
A mesma coisa aqui, espero que a mensagem de erro seja algo como "Você não tem permissão para escrever" ou algo parecido. Obrigado por apontar isso!
Miguel Péres 24/03
O software da Linus não é um software que faz as coisas esperadas.
Nakilon 03/08/19
4

O Problema : O Github não está familiarizado com o seu repositório por algum motivo.

O erro: solicitado no git cli como o seguinte:

remote: Repositório não encontrado. fatal: repositório ' https://github.com/MyOrganization/projectName.git/ ' não encontrado

A solução: 2 opções

  1. O Github pode não estar familiarizado com suas credenciais: - A primeira opção é clonar o projeto com as credenciais corretas user:passwordno caso de você esquecer isso ou gerar um token ssh e ajustar essa chave no seu Github. akagit push https://<userName>:<password>@github.com/Company/repositoryName.git

  2. Problema de permissões de repositório com alguns usuários - No meu caso de uso, resolvi esse problema quando percebi que não tinha as permissões de colaborador certas no Github no meu repositório particular. Os usuários podem clonar o projeto, mas não podem executar nenhuma ação na origem. Para resolver isso:

Vá para o repositório no Github -> Configurações -> Colaboradores e equipes -> Adicione membros / mantenedores aos seus usuários -> Agora eles têm permissão para confirmar e enviar

avivamg
fonte
3

Alterar o conteúdo do arquivo .git / config ajuda como Alex disse acima. Tive o mesmo problema e acho que foi porque alterei meu nome de usuário do Github. Os arquivos locais não puderam ser atualizados com as alterações. Então, talvez, sempre que você mudar seu nome de usuário, considere executar

git remote add origin your_ssh_link_from_github

Eu espero que isso ajude ;)

Yaw Boakye
fonte
3

Eu tive o mesmo problema. Tente o seguinte:

1. Modificar o acesso às chaves no Mac para credenciais git resolveu o problema para mim.
2. Redefinindo o URL de Origem

git remote rm origin
git remote add origin [email protected]:account-name/repo-name.git
Vinodh Krishnaraju
fonte
3

Se você clonar no github usando httpsmas está usando sshpush, também poderá receber esse erro.

Para corrigir isso, abra .git/confige substitua:

url = https://github.com/company/project.git

Com

url = [email protected]:company/project.git

E você deve poder empurrar sem aviso ...

Neil
fonte
2

Tiveram o mesmo problema. Tudo funcionou bem por anos e, de repente, esse erro.

O problema é que eu adicionei uma chave de implantação para outro repositório ao meu agente SSH antes da chave SSH do github do usuário (que eu sempre usava para acessar o repositório em questão). O agente SSH tentou a chave de implantação para outro repo primeiro e o GitHub, por algum motivo totalmente inexplicável, estava dizendo

ERROR: Repository not found.

Depois de remover a chave de implantação do agente SSH, tudo voltou ao normal.

snovity
fonte
2

Eu tive esse problema e percebi que estava usando uma conta diferente daquela cujo repo foi. O login como o usuário original resolveu o problema.

Keyslinger
fonte
No meu caso, configurei duas contas e adicionei entradas no .ssh / config para alias trabalho e pessoal e esqueci. O problema é que, ao clonar, usei [email protected]: blahblah e não git @ work: blahblah.
sourabh
2

Se você usar o repositório privado, verifique o usuário da conexão, ele deve ter permissão para usar o repositório.

Máx.
fonte
1

Eu tive o mesmo problema. Meu problema foi entender mal que eu tinha que primeiro criar o repositório vazio no github antes de avançar para ele. Doh! Incluindo isso aqui para qualquer pessoa que não percebe.

Nate Barr
fonte
1

vá para a pasta do seu projeto, procure a pasta .git, abra o arquivo de configuração com o bloco de notas e verifique se há algum link para o repositório do github em: [remote "origin"], se for diferente do repositório no seu github edite-o ou abra um novo repositório com o nome no arquivo de configuração

Muito legal
fonte
1

Minha solução pode ser útil para alguns de vocês.

Eu recebi o mesmo erro depois de atualizar o sistema operacional do meu macbook para Yosemite. Meu problema foi corrigido recriando minha chave ssh. Você pode fazer isso seguindo a etapa 2 desta página: https://help.github.com/articles/generating-ssh-keys/

Luc
fonte