2013-06-29 14 views
9

Quando provo a inviare a Heroku, ricevo i seguenti messaggi di errore.irreversibile: non gestisco il protocollo

[first_app]$git push heroku master 
fatal: I don't handle protocol '[email protected]:yourhttp' 

Allora ho preso uno sguardo alle diverse versioni di Heroku che ho e sembra che ci sia più di un così ho cercato di eliminarlo, ma ha ottenuto un altro messaggio di errore.

[first_app]$ git remote set-url --delete heroku [email protected]:yourhttp://still-lake-3136.herokuapp.com/.git 
fatal: Will not delete all non-push URLs 

Ho cercato messaggi di errore simili ma non ho trovato nulla per risolvere questo problema. Il tuo aiuto è molto apprezzato.

Ecco il mio file di configurazione:

[core] 
    repositoryformatversion = 0 
    filemode = true 
    bare = false 
    logallrefupdates = true 
    ignorecase = true 
[remote "origin"] 
    url = [email protected]:wongsteven/first_app.git 
    fetch = +refs/heads/*:refs/remotes/origin/* 
[branch "master"] 
    remote = origin 
    merge = refs/heads/master 
[remote "heroku"] 
    url = [email protected]:yourhttp://still-lake-3136.herokuapp.com/.git 
    fetch = +refs/heads/*:refs/remotes/heroku/* 
[heroku] 
    remote = heroku 

not able to push to heroku | git error: cannot handle https | heroku + git submodule needs authentication | error: "fatal: I don't handle protocol ``git` when using bundle install | Git/GitHub can't push to master

+0

Qual è il contenuto del file '.git/config'? Pubblicalo nella risposta. – Casper

+0

Hey Casper, all'inizio, ho avuto estrema difficoltà nel trovare il file ".git/config". Sono stato quindi in grado di aprire il file .git/config digitando "subl .git/config" nel terminale. C'è un altro modo per recuperare questo file? Grazie! –

risposta

1

Git utilizza protocolli diversi per voi di codice "push" Questo potrebbe essere https/ssh ecc

Probabilmente avete .git file/config nella radice di voi repository

Ha informazioni di configurazione per origine:

[remote "origin"] 
#url = ssh://[email protected]/user/repo.git 
[email protected]:myheroku.git 
fetch = +refs/heads/*:refs/remotes/origin/* 

Se vedete questo le informazioni URL è git @ qualcosa: repo.com

Se guardi l'url lì vedrai che ha qualcosa di simile a questo [email protected]: yourhttp (url) Questo è il problema, hai l'URL delle tue app nella config

Nella pagina delle app su heroku tu avrebbe trovato l'uri per il repository git cambiare l'url a quello e le cose dovrebbero andare bene

+0

Hey Dusual, grazie! Sono stato in grado di farlo funzionare. –

3

L'errore è nella vostra configurazione. Questa riga:

[remote "heroku"] 
    url = [email protected]:yourhttp://still-lake-3136.herokuapp.com/.git 

È una sciocchezza completa. Non so come sia finita lì quella fila. Devi avere incollato copia qualcosa da qualche parte nel modo sbagliato. La mia ipotesi è che dovrebbe assomigliare a questo:

[remote "heroku"] 
    url = [email protected]:still-lake-3136.git 

Se questo non funziona si dovrebbe davvero seguire le istruzioni qui di avviare un repository remoto:

https://devcenter.heroku.com/articles/git

In questo caso è possibile eliminare il tutta la sezione [remote "heroku"] (in realtà le 5 ultime righe) dal file config prima di procedere con tali istruzioni.

Uno di questi due (modificare la riga o reinizializzare il repository) dovrebbe risolvere il problema.

+0

Hey Casper, Ho cambiato questa riga "url = [email protected]: yourhttp: //still-lake-3136.herokuapp.com/.git" a "url = [email protected]: secret-brushlands-7492 .git "e sembra funzionare ora. –

11

citazioni mettere intorno l'url del repository Git (questo ha funzionato per me. Sto utilizzando Windows 8.1)

+0

Questa soluzione ha funzionato per me. Stavo eseguendo il comando: $ git remote add all'origine "https://github.com/MyUserName/my-test-repository.git" Quindi sono stato in grado di eseguire il comando: $ git push - master origine origine set-upstream –

0

Hade stesso problema, tho causa era diverso da altre soluzioni qui menzionati.

Sto utilizzando SourceTree e quando si aggiunge l'URL remoto, aggiunto accidentalmente spazio aggiuntivo al prefisso.

mio config (sbagliato)

url = " ssh://url.com/path/repo.git" 

corretta

url = ssh://url.com/path/repo.git 
Problemi correlati