Git Push ERROR: repository non trovato


356

Sto riscontrando un problema molto strano con gite github. Quando provo a spingere, ricevo:

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

Ho aggiunto il telecomando:

git remote add origin git@github.com:account-name/repo-name.git

Qualche idea?


2
Sì, è così che ho ottenuto git remote add origin git@github.com:account-name/repo-name.git. Esiste in GitHub ed è un repository privato.
Giustino,

1
hai ricontrollato i tuoi nomi utente e repo?
scienziato il

2
hai cambiato il tuo nome utente github
Ankit

2
Qualche possibilità che ciò sia correlato alle autorizzazioni di lettura / scrittura sul repository? Ho un repository di sola lettura e ricevo questo messaggio quando provo a spingere qualcosa
Michael

3
Ho avuto lo stesso problema. L'ho risolto aggiornando il file .git / config. Ho inserito il nome utente nella chiave URL della [remote "origin"]sezione.
Ahmed Jehanzaib,

Risposte:


514

Controlla se hai accesso in lettura / scrittura.

Il messaggio di errore Git è fuorviante. Ho avuto un problema simile. Ero stato aggiunto a un progetto esistente. L'ho clonato e commesso un cambiamento locale. Sono andato a spingere e ho ricevuto il ERROR: Repository not found.messaggio di errore.

La persona che mi ha aggiunto al progetto mi ha dato l'accesso in sola lettura al repository. Un cambiamento da parte loro e sono stato in grado di spingere.


291
Devo amare quegli utili messaggi di errore Git. Non riesci a trovare il repository da cui ho appena clonato, eh? Bugiardo.
Grant Birchmeier,

sì, lo stesso problema qui - nessun diritto di commit e ricevi questo messaggio di errore molto offuscato <sigh>
rogerdpack

12
@GrantBirchmeier Voglio votare 100 volte per il tuo commento.
tecnophyle

16
Grazie! Puoi verificarlo visualizzando il progetto sul Web e facendo clic su "Nuovo file"
Ronnie,

2
Quindi per me, la mia password aveva un `(segno di spunta) e PhpStorm stava rimuovendo il carattere prima di inviare git push: diciamo per questo esempio che la mia password è _pa``ssword_ Phpstorm avrebbe prodotto quanto segue: https://_username_:_password_@github.com/_username_/repo.git invece di https://_username_:_pa``ssword_@github.com/_username_/repo.git Password modificata in qualcosa che non utilizza il` carattere. LAVORI!!!
Ruben Arevalo,

128

Ho riscontrato lo stesso problema e l'ho risolto includendo il mio nome utente e la password nell'URL repo:

git clone https://myusername:mypassword@github.com/path_to/myRepo.git

29
Questo ha funzionato per me aggiungendo solo il mio nome utente:https://myusername@github.com/path_to/myRepo.git
redolent il

5
questo funziona ma ovviamente molte persone lo considererebbero un problema di sicurezza; usare con cautela
Alexander Mills,

Questo ha funzionato per me. Avevo usato Git Bash in precedenza per un altro account e non riuscivo a capire come cambiare l'account, quindi il gioco è fatto. Non mi piace, ma funziona.
HartleySan

1
Come seguito al mio commento originale, una volta che si preme una volta con successo, è possibile utilizzare il git remote set-url origin urlcomando per modificare l'URL di origine nella stessa cosa senza il nome utente e la password, quindi funziona correttamente.
HartleySan

1
Mi hai appena salvato amico! Saluti!
Eldho Paul Konnanal,

105

Ho avuto lo stesso problema, con un repository privato.

Fare quanto segue:

rimuovere l'origine remota

git remote rm origin

aggiungi nuovamente l'origine ma con il tuo nome utente e pwd con i privilegi di scrittura su questo repository pvt

git remote add origin  https://USERNAME:PASSWORD@github.com/username/reponame.git

12
Cosa succede se la password ha @?
AnupamChugh,

16
@AnupamChugh devi sostituire "@" con "% 40" nella tua password. Fondamentalmente puoi controllare eseguendo il codice JSencodeURIComponent(password)
elquimista,

1
Consiglio di utilizzare un supporto credenziali anziché archiviare la password in testo semplice: help.github.com/articles/caching-your-github-password-in-git
Johnsyweb

2
Grazie ha aiutato senza alcun problema!
Matan Dahan,

4
Finalmente! Il fermo è per il REPO PRIVATO. Questo ha funzionato se si dispone di un Repo privato e si ottiene questo errore seguendo le istruzioni dell'hub Git per trasferire un repository esistente da locale in Xcode a remoto in Github: $ git push -u origin master remote: Repository not found. fatal: repository 'https://github.com/teksunios/Abc.git/' not found
iHarshil,

67

Stavo ottenendo lo stesso errore

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

e avevo creato il repository su Github e l'ho clonato localmente.

Sono stato in grado di risolvere aprendo .git / config e rimuovendo la [remote "origin"]sezione.

[remote "origin"]   
   url = git@github.com:alexagui/my_project.git  
   fetch = +refs/heads/*:refs/remotes/origin/*

poi ho eseguito il seguente (di nuovo)

git remote add origin git@github.com:alexagui/my_project.git  
git push -u origin master

e questa volta sono stato in grado di inviare al repository.


3
Potresti spiegare come hai aperto .git / config e rimosso la sezione [remote "origin"]?
Davi Moreira,

Sono venuto qui in cerca di risposte a un problema simile. Avevo creato un nuovo repository da IntelliJ IDEA, ma ho ricevuto lo stesso messaggio di errore quando ho provato a fare il mio push iniziale. La risposta di Alex Aguilar mi ha ispirato ad andare nel file .git / config e modificare l'URL del repository in modo che usasse il mio nome utente con la prima lettera maiuscola, cosa che inizialmente non ha fatto. Ha risolto il mio problema.
Vallle,

La .git/directory può essere trovata nella directory principale del progetto.
Gui Imamura,

Ciò ha anche risolto il problema per me - ho provato a cambiare utente nel mezzo di un progetto e ha aperto un mondo di dolore
gotofritz,

perché sarebbe necessario? Ho cambiato il mio nome utente e ora sto affrontando ogni sorta di problemi.
HighOnMeat

46

Se usi Git su Windows , prova a cancellare le tue credenziali:

  1. Individua "gestore credenziali" (dovrebbe essere nel tuo pannello di controllo)
  2. Rimuovi tutte le credenziali relative a GitHub

inserisci qui la descrizione dell'immagine


3
Bello - grazie per questo suggerimento di successo! A proposito, con il seguente comando è possibile passare direttamente al gestore delle credenziali: "control.exe / name Microsoft.CredentialManager"
Chris

Grazie, questo mi salva la giornata.
Amy,

questo mi ha salvato la giornata!
mvermand,

1
L'unica cosa qui che ha funzionato per me
WHOATEMYNOODLES

Funzionava, avevo un altro account su github che causava il problema
Mokhtar Ashour,

27

Ho ricevuto questo errore (ma prima funzionava). Il mio problema era la chiave ssh mancante associata all'account Github. Puoi controllare i tuoi attuali tasti ssh conssh-add -l .

Se manca la chiave, è possibile aggiungerla con

ssh-add ~/.ssh/your_key

2
Ho cambiato il mio account github e quindi ho dovuto cambiare la mia chiave SSH esistente. La tua soluzione ha funzionato, grazie!
Thomas Potaire,

La soluzione più semplice che ha funzionato per me. Grazie!
Dominique Paul,

23

Ho avuto un problema simile. Le credenziali errate sono state memorizzate nella catena chiave di OS X.

Dai un'occhiata a: https://help.github.com/articles/updating-credentials-from-the-osx-keychain


3
Stesso problema. Ottengo remote: Repository not found.quando accedo al repository privato. È stato perché ancora collegato al repository con vecchie credenziali (anche con quelle nuove nella config git locale). Per risolvere 1) rimuovere la chiave dal portachiavi. 2) eseguire nuovamente il comando nel terminale. 3) Dovresti chiedere username e password.
Nik Kov,

2
Ciò ha risolto il problema per me. Ho cancellato le credenziali nel portachiavi, ho ottenuto un nuovo token di accesso personale tramite la GUI di Github e sono spento e funzionante, grazie.
Anthony,

@ La risposta di Antoine è ciò che mi è successo. Sfortunatamente, l'ho trovato dopo aver risolto il problema. Nel mio caso, ho appena attivato 2FA (Two Factor Authentication) (TFA). Questo ha rotto la mia password. Quindi, ho cancellato le credenziali (come hanno detto le persone in questa pagina) ma la richiesta di riadattare un repository non è riuscita con la mia password (suppongo che a causa di 2FA). Quindi, ho creato il token di accesso personale ( help.github.com/articles/… ) da utilizzare al posto della password. Gli ho dato l'accesso repository solo dal momento che si trova sulla riga di comando.
Cwingrav,

19
git remote rm origin
git remote add origin <remote url>

Ha funzionato per me. Questo problema è iniziato dopo l'aggiornamento di git.
karthikdivi,

Questo ha funzionato per me cambiando l'URL https con git @ one.
Skoua,

17

Sto usando Mac e ho faticato a trovare la soluzione. Il mio indirizzo remoto era giusto e, come detto, era un problema di credenziali . Apparentemente, in passato ho usato un altro account Git sul mio computer e il portachiavi del Mac ha ricordato le credenziali dell'account precedente, quindi non ero davvero autorizzato a spingere.

Come risolvere? Apri Accesso portachiavi sul tuo mac, scegli la categoria "Tutti gli articoli" e cerca git. Elimina tutti i risultati trovati.

Ora vai al terminale e prova a spingere di nuovo. Il terminale chiederà nome utente e password. Inserisci le nuove credenziali pertinenti e il gioco è fatto!

Spero che possa aiutare qualcuno. L'ho lottato per poche ore.


1
Grazie grazie grazie grazie grazie grazie !!!!! Stavo già sbattendo la testa contro il muro.
Potibas,

Questo ha davvero aiutato. Ho provato tutto e non riuscivo a capire. Push, Pull CLone, funziona da IntelliJ ma non da Terminal. Dopo aver pulito il portachiavi, funziona come per magia.
Achyut,

Per macOS questa è stata l'unica soluzione che ha funzionato per me. Grazie.
Niraj,

14

remote: Repository not found. può essere un messaggio di errore frustrantemente fuorviante da quando si tenta di eseguire il push su un telecomando HTTPS in cui non si dispone delle autorizzazioni di scrittura .

Controlla le tue autorizzazioni di scrittura sul repository!

Provare un telecomando SSH nello stesso repository mostra una risposta diversa:

% 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.

"I diritti di accesso corretti?"

Bene, perché non l'hai detto?

Vale la pena notare a questo punto che mentre la modalità di errore SSH in questo scenario è leggermente migliore, utilizzo i telecomandi HTTPS su SSH perché GitHub consiglia HTTPS su SSH .

Comprendo che GitHub utilizza "Not Found" dove in alcune circostanze significa "Proibito" per impedire di rivelare inavvertitamente l'esistenza di un repository privato.

Le richieste che richiedono l'autenticazione verranno restituite 404 Not Found, anziché 403 Forbiddenin alcuni punti. Questo per evitare la fuoriuscita accidentale di repository privati ​​per utenti non autorizzati.

- GitHub

Questa è una pratica abbastanza comune sul web, infatti è definita:

Il codice di stato 404 (non trovato) indica che il server di origine non ha trovato una rappresentazione corrente per la risorsa di destinazione o non è disposto a rivelarne l'esistenza.

- 6.5.4. 404 Not Found, RFC 7231 HTTP / 1.1 Semantica e contenuto (sottolineatura mia)

Ciò che non ha senso per me è quando sono autenticato con GitHub utilizzando un helper di credenziali e ho accesso a quel repository (dopo averlo clonato e recuperato con successo) che GitHub avrebbe scelto di nascondermi la sua esistenza a causa della mancanza di autorizzazioni di scrittura.

Il controllo di https://github.com/our-organisation/some-repository/ utilizzando un browser Web ha confermato che non avevo le autorizzazioni di scrittura per il repository . Gli amministratori GitHub del nostro team sono stati in grado di concedere al mio team l'accesso in scrittura in breve tempo e sono stato in grado di spingere il ramo verso l'alto.


10

Se il repository funzionava normalmente prima e all'improvviso si verificava questo errore, molto probabilmente il motivo sarebbe che il tuo git è autenticato come un altro utente, che non ha accesso al repository . Quindi, per spingere, tutto ciò che devi fare è specificare il tuo nome utente e password corretti nel tuo comando git. Quindi, un comando push per un repository github sarebbe simile a:

git push https://youruser:password@github.com/user/reponame.git

username and passworddeve essere escluso dall'URL, quindi un @ deve essere sostituito da % 40 e così via.


Questo ha funzionato per me la prima volta. Inizialmente ho creato il problema eliminando .gitconfig da C: / users / {username}
Mike Upjohn,

9

Se appartieni a un gruppo in Github verifica di avere accesso in scrittura.


1
Come si fa esattamente? Sarebbe più completo se potessi aggiungere tali informazioni.
Renato Back

2
sei appena arrivato al tuo repository git e fai clic su qualsiasi file e prova a modificarlo. Se non hai accesso in scrittura, ti verrà mostrato un errore come "stai cercando di modificare un file ...."
mohor chatt

3
Un modo rapido per verificare è fare clic Create new file. Se ricevi un messaggio che dice "Stai creando un file in un progetto a cui non hai accesso in scrittura", allora non hai accesso in scrittura.
Wisbucky

8

Ha avuto un problema simile. La radice del problema era che ho seguito alcuni tutorial online sull'aggiunta di un nuovo repository a Github.

Basta andare su Github, creare un nuovo repository, ti chiederà di aggiungere un README, non aggiungerlo . Crealo e otterrai istruzioni su come spingere.

È simile alle prossime due righe:

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

8

Questo ha risolto il mio problema.

   git pull https://myusername:mypassword@github.com/path_to/myRepo.git

8

Questo è ciò che ha funzionato per me:

1. I telecomandi

$ git remote rm origin
$ git remote add origin git@github.com:<USER>/<REPO>.git

Se la tua chiave SSH è già in uso su un altro rappresentante github, puoi generarne una nuova.

2. Generazione di una nuova chiave SSH

$ ssh-keygen -t rsa -b 4096 -C "web@github.com"

3. Aggiunta della chiave a livello di agente SSH

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

4. Aggiungere la nuova chiave al repository Github.


7

Un problema, che potrebbe essere ovvio per alcuni che non vedo menzionati qui, potrebbe essere che hai accesso con i tasti ssh, ma stai provando a connettere il tuo repository locale a un telecomando tramite https.

In questo caso, i seguenti comandi dovrebbero risolvere il problema per te:

$ 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 git@github.com:private-repo.git
$ git remote -v
origin  git@github.com:private-repo.git (fetch)
origin  git@github.com:private-repo.git (push)

Si noti che quanto sopra funziona supponendo che:

  1. il tuo attuale telecomando è chiamato origine che hai già una chiave ssh generata connessa al tuo account github

  2. hai già una chiave ssh associata al tuo account github (e connesso localmente)

  3. hai le autorizzazioni corrette (lettura / scrittura) impostate su github per le impostazioni di questo repository.


Questo ha funzionato per me. Ma qual è stato il cambiamento decisivo? Stava funzionando bene solo l'altra settimana e questo è stato un repository che ho avuto in giro per anni.
Dylan Nissley,

@DylanNissley forse le impostazioni di sicurezza del repository sono cambiate? Non sono sicuro, a dire il vero. : /
John Donner,

6

Devi controllare l'accesso SSH come segue:

ssh -T git@github.com

questo problema era perché non aggiungo la risposta della persona su SSH nel repository, leggi di più su SSH link-1 , link-2 .


Ciò ha mostrato un problema con più chiavi e un file di configurazione che non funzionava. Grazie per il consiglio.
dibs

5

Quanto segue ha risolto il problema per me.

Per prima cosa ho usato questo comando per capire quale fosse l'account github usato:

ssh -T git@github.com

Questo mi ha dato una risposta come questa:

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.

Quindi ho capito che l'utente Github descritto nella risposta (github_account_name) non era autorizzato sul repository Github che stavo cercando di estrarre.


Cosa fare se visualizzo questo errore: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

Ecco come risolvere il mio problema

#check current github account
ssh -T git@github.com

#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 git@github.com:YOUR-USER/YOUR-REPO.GIT
git push -u origin master

4

Se qualcuno ha riscontrato il problema su github.com, controlla se hai accettato un invito dopo che il proprietario del repo lo ha autorizzato. Finché non accetti il ​​repo di invito sarà invisibile per te. Quindi otterraiERROR: Repository not found.


Grazie, questo ha risolto il mio problema.
Glen

1
Stessa cosa qui, mi aspetterei che il messaggio di errore sia qualcosa del tipo "Non hai il permesso di scrivere" o qualcosa del genere. Grazie per la segnalazione!
Miguel Péres,

Il software di Linus non è un software che fa cose previste.
Nakilon,

4

Il problema : Github non ha familiarità con il repository per qualche motivo.

L'errore: richiesto in git cli come il seguente:

remoto: repository non trovato. fatale: repository ' https://github.com/MyOrganization/projectName.git/ ' non trovato

La soluzione: 2 opzioni

  1. Github potrebbe non avere familiarità con le tue credenziali: - La prima opzione è quella di clonare il progetto con le giuste credenziali user:passwordnel caso in cui te ne fossi dimenticato o generare un token ssh e regolare questa chiave nel tuo Github. akagit push https://<userName>:<password>@github.com/Company/repositoryName.git

  2. Problema relativo alle autorizzazioni di reimpostazione con alcuni utenti - Nel mio caso d'uso, ho risolto questo problema quando mi sono reso conto che non ho le autorizzazioni di collaboratore corrette su Github nel mio repository privato. Gli utenti possono clonare il progetto ma non eseguire alcuna azione sull'origine. Per risolvere questo:

Vai al repository su Github -> Impostazioni -> Collaboratori e team -> Aggiungi membro / manutentore ai tuoi utenti -> Ora hanno il permesso di impegnarsi e spingere


3

La modifica del contenuto del file .git / config aiuta come ha detto Alex sopra. Ho riscontrato lo stesso problema e penso che sia stato perché ho cambiato il mio nome utente Github. Non è stato possibile aggiornare i file locali con le modifiche. Quindi forse ogni volta che cambi il tuo nome utente potresti considerare di correre

git remote add origin your_ssh_link_from_github

Spero che questo possa essere d'aiuto ;)


3

Ho avuto lo stesso problema. Prova quanto segue:

1. La modifica dell'accesso Portachiavi in ​​Mac per le credenziali git ha risolto il problema per me.
2. Reimpostazione dell'URL di origine

git remote rm origin
git remote add origin git@github.com:account-name/repo-name.git

3

Se cloni da github usando httpsma stai usando sshpush, puoi anche ottenere questo errore.

Per correggere ciò, aprire .git/confige sostituire:

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

Con

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

E dovresti essere in grado di spingere senza preavviso ...


2

Hanno riscontrato lo stesso problema. Tutto ha funzionato bene per anni e poi improvvisamente questo errore.

Il problema è che ho aggiunto una chiave di distribuzione per un altro repository al mio agente SSH prima della chiave SSH github dell'utente (che ho sempre usato per accedere al repository in questione). L'agente SSH ha provato prima la chiave di distribuzione per un altro repository e GitHub per qualche motivo totalmente inspiegabile stava dicendo

ERROR: Repository not found.

Dopo aver rimosso la chiave di distribuzione dall'agente SSH, tutto è tornato alla normalità.


2

Ho avuto questo problema e mi sono reso conto che stavo usando un account diverso da quello di cui era il repository. L'accesso come utente originale ha risolto il problema.


Nel mio caso avevo impostato 2 account e aggiunto voci in .ssh / config per il lavoro alias e personale e me ne sono dimenticato. cambiando la parte di origine in .git / config della directory del progetto in modo che avessi lavoro invece di 'github.com' ho risolto il problema. Il problema era che durante la clonazione avevo usato git@github.com: blahblah e non git @ work: blahblah.
sourabh,

2

Se si utilizza un repository privato, verificare l'utente della connessione, deve disporre dell'autorizzazione per l'utilizzo del repository.


1

Ho avuto lo stesso problema. Il mio problema era incomprensione del fatto che dovevo prima creare il repository vuoto su github prima di spingerci. Doh! Includendo questo qui per chiunque non lo realizzi.


1

vai alla cartella del tuo progetto, quindi cerca la cartella .git, quindi apri il file di configurazione con il blocco note e controlla se esiste il tuo collegamento al repository github in: [origine "remota], se è diverso dal repository nel tuo github quindi basta modificarlo o aprire un nuovo repository con il nome nel file in config


1

La mia soluzione potrebbe essere utile per alcuni di voi.

Ho avuto lo stesso errore dopo aver aggiornato il sistema operativo del mio macbook a Yosemite. Il mio problema è stato risolto ricreando la mia chiave SSH. Puoi farlo seguendo il passaggio 2 di questa pagina: https://help.github.com/articles/generating-ssh-keys/

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.