2015-08-27 21 views
31

So che domande simili sono già state poste.Git push: "origine" fatale "non sembra essere un repository git - fatale Impossibile leggere dal repository remoto."

Ma, credo che il mio problema sia dovuto a un errore che ho fatto in precedenza e quindi è diverso: lasciatemi spiegare.

Tutto stava funzionando senza intoppi, come ho potuto:

  • git add . tutti i file dal mio repository locale.
  • git commit -m "message here" per aggiungere messaggi ai miei commit.
  • git push origin master per caricare i miei file su GitHub.
  • git push heroku master per caricare i miei file su Heroku.

Tuttavia, ad un certo punto, ho creato un nuovo ramo chiamato localmente add-calendar-model nel caso in fasi successive dello sviluppo di app sarebbe andare a sud ...

... che è esattamente quello che è successo.

Tuttavia, nonostante molti tentativi, non sono riuscito a ottenere il codice iniziale, ovvero il codice da prima della creazione del nuovo ramo, dal ramo master al mio repository locale.

Quindi, ho deciso di eliminare manualmente tutti i file dal mio repository locale e git clone il mio ramo master da GitHub.

In questo modo, ho recuperato tutti i miei file, ma ora non riesco più a spingere il repository remoto.

Ogni volta che provo a correre git push origin add-calendar-model o git push origin master, ottengo il seguente errore:

fatal: 'origin' does not appear to be a git repository 
fatal: Could not read from remote repository. 

Please make sure you have the correct access rights 
and the repository exists. 

io non sono molto confortevoli, con Git e GitHub, come avrete intuito, e devo ammettere che non ho idea di come risolvere questo problema.

Qualche idea?

risposta

86

In primo luogo, verificare che il origine è impostato eseguendo

git remote -v 

Questo dovrebbe mostrare tutto il push/prendere telecomandi per il progetto.

Se questo ritorna senza output, saltare all'ultimo blocco di codice.

Verificare il nome/indirizzo remoto

Se questo restituisce mostrando di avere telecomandi impostati, verificare che il nome del telecomando corrisponda il telecomando che si sta utilizzando nei vostri comandi.

$git remote -v 
myOrigin ssh://[email protected]:1234/myRepo.git (fetch) 
myOrigin ssh://[email protected]:1234/myRepo.git (push) 

# this will fail because `origin` is not set 
$git push origin master 

# you need to use 
$git push myOrigin master 

Se si desidera rinominare il telecomando o modificare l'URL del telecomando, si vorrà prima rimuovere il vecchio telecomando, e quindi aggiungere quella corretta.

Rimuovere il vecchio telecomando

$git remote remove myOrigin 

quelli mancanti remoto

È quindi possibile aggiungere nel corretto remoto utilizzando

$git remote add origin ssh://[email protected]:1234/myRepo.git 

# this will now work as expected 
$git push origin master 
+0

Grazie mille, ha fatto il trucco. –

+0

Felice di aiutare, felice codifica. –

+1

Grazie. Accetterà la tua risposta non appena mi sarà permesso. –

6

Come Matt Clark detto sopra

Tuttavia, l'origine potrebbe non essere impostata, quindi saltare la fase di eliminazione e semplicemente tentare di aggiungere può cancellare questo.

git remote add origin <"clone"> 

Dove "clone" è semplicemente andando nel vostro repo GitHub e copiando il "HTTPS URL clone" e incollando in GitBash

1

Assicurarsi che il file di configurazione in .git è corretto ... Controlla URL & Assicurati che il tuo utilizzando il protocollo corretto per le vostre chiavi ... Projectworkspace/.git/config

~Wrong url for [email protected] 
[core] 
    repositoryformatversion = 0 
    filemode = true 
    bare = false 
    logallrefupdates = true 
[remote "origin"] 
    url = gitbucket.org:Prezyack/project-one-hello.git 
    fetch = +refs/heads/*:refs/remotes/origin/* 

~Wrong URL for SSH... 
[core] 
    repositoryformatversion = 0 
    filemode = true 
    bare = false 
    logallrefupdates = true 
    ignorecase = true 
    precomposeunicode = true 
[remote "origin"] 
    fetch = +refs/heads/*:refs/remotes/origin/* 
    url = https://[email protected]/emmap1/bitbucketspacestation.git 
[branch "master"] 
    remote = origin 
    merge = refs/heads/master 

Stiamo esaminando l'URL ... esempio: per bitbucket, si aspettano [email protected] .. ..Se il suo gitbucket.org . apportare le modifiche necessarie .. SAVE Provare a premere di nuovo.

Problemi correlati