2013-10-18 2 views
12

Sto cercando di inviare la mia app a Heroku, ma sto ricevendo questo messaggio di errore. Mi sono guardato intorno, qualcuno ha detto che GitHub ha recentemente iniziato a reindirizzare l'accesso al repository http a https e sembra che il tuo git non sia soddisfatto di questo cambiamento. Ma sto avendo problemi a spingere per heroku, ogni aiuto sarà molto apprezzato.: RPC non riuscito; risultato = 22, codice HTTP = 400

error: RPC failed; result=22, HTTP code = 400 
+0

Potremmo ottenere il registro completo della git push Heroku, tra cui il comando esatto si sta eseguendo? Inoltre, che tipo di app è questa? E la tua versione di git (ottenuta da git --version). – changingrainbows

+0

Ciao changerainbows, non sono sicuro di cosa abbia causato il problema. Ma dopo qualche altro tentativo, ora funziona. Tuttavia, continuo a non capire cosa significasse il messaggio di errore. Grazie mille per l'aiuto, signore. –

risposta

0

Potrebbe essere un problema tecnico, come I mentioned in here.
(In realtà, proprio mentre scrivo questo, GitHub sta avendo un "un'interruzione del servizio maggiore"!)

Assicuratevi di poter riprodurre il problema con un http o un URL HTTPS.
Se questo persiste, semplicemente provare e swith a un URL ssh

git remote set-url heroku [email protected]:yourRepo 

(che è l'approccio raccomandato, in quanto heroku normally support ssh only)

6

cambiare la vostra postbuffer

git config --global http.postBuffer 52428800 

allora si postbuffer è 50M .

+0

Ha funzionato per me, +1. Grazie – jdborg

11

Questo può accadere a causa del fatto che Herit Git non capisce il clone superficiale come menzionato here.

Soluzione alternativa è disattivare il clone superficiale prima della distribuzione.

git fetch --unshallow 
2

Il problema (potrebbe essere), che si sono probabilmente abituati git clone --depth .. per il repository e che ha creato la cosiddetta copia superficiale (senza storia). Se clonato qualcun altro repository (!), Basta cancellare la cartella /.git e creare un repository Ricrea come nuovo con

cd <my-project>/ 
git init 

Poi si può spingere anche con telecomando https://<youprojectname>.herokuapp.com/

0

per Rails 4: assicurati di aggiungere gemma "rails_12factor" al tuo Gemfile.

2

spero che questo non arrivi troppo tardi, ma le distribuzioni di Heroku richiedono un clone Git completo. Per impostazione predefinita, Pipelines clona il tuo repository con una profondità di 50 per abbreviare i tempi di costruzione. Puoi configurare la tua pipeline per fare un clone Git completo nel tuo file bitbucket-pipelines.yml.

prova ad aggiungere profondità clone completo del file yml

image: node:6 
    clone: 
    depth: full 
+0

dannatamente perfetto –