Errore Github Push: RPC non riuscito; risultato = 22, codice HTTP = 413

stupido problema con Github in corso adesso. Ho una buona quantità di modifiche (~ 120 MB di dimensioni), quando cerco di spingere, questo è ciò che accade:

error: RPC failed; result=22, HTTP code = 413
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly

L’ho già fatto

git config http.postBuffer 524288000 , quindi non sembra essere il problema. Cosa potrebbe essere?

Se ottieni l’errore 413, il problema non si trova con git ma con il tuo server web . È il tuo server web che blocca i file di caricamento di grandi dimensioni.

Soluzione per nginx

Basta caricare il tuo nginx.conf e aggiungere client_max_body_size 50m; (cambiando il valore in base alle proprie esigenze) nel blocco http.

Ricarica nginx per accettare la nuova configurazione eseguendo il sudo service nginx reload e riprova a inviare il commit su http.

Soluzione per Apache

Nel tuo httpd.conf aggiungi LimitRequestBody 52428800 (cambiando il valore in base alle tue esigenze) all’interno di un blocco . In questo modo puoi limitare la richiesta dell’intero filesystem del server, solo un singolo host virtuale o una directory.

Spero che aiuti.

L’avevo capito!!! Ovviamente lo farei subito dopo aver colpito post!

Ho avuto il repo impostato per utilizzare l’URL HTTPS, l’ho cambiato con l’indirizzo SSH, e tutto ha ripreso a funzionare in modo impeccabile.

comando per cambiare l’url remoto (da https -> git @ …) è qualcosa del genere

 git remote set-url origin [email protected]:GitUserName/GitRepoName.git 

l’origine qui è il nome del mio telecomando (fai git remote e quello che esce è la tua origine).

Ho già avuto “HTTPS //” nell’URL git che ha già affrontato questo errore.

Tutto ciò che ho fatto è stato aggiungere l’opzione -u con push e ha funzionato.

git push -u origin master

Ho avuto lo stesso problema ma stavo usando un proxy inverso.

Quindi ho dovuto impostare

 client_max_body_size 50m; 

all’interno di entrambi i file di configurazione:

  • sul server web gitlab nginx (come detto nelle risposte precedenti)
  • ma anche sul reverse proxy nginx ospitato sul server dedicato.

Per coloro che utilizzano IIS 7 per ospitare un endpoint git http / https :

Devi aumentare il tuo uploadReadAheadSize .

Avviare Gestione Internet Information Services (IIS)

  1. Espandi il campo Server

  2. Espandi siti

  3. Seleziona il sito per cui vuoi apportare la modifica.

  4. Nella sezione Funzionalità, fare doppio clic su Configuration Editor

  5. In Section selezionare: system.webServer > serverRuntime

  6. Modifica la sezione uploadReadAheadSize (il valore deve essere compreso tra 0 e 2147483647 ).

  7. Fai clic su Applica

  8. Riavvia il sito web

Ho avuto questo problema quando provo a clonare un repository git nella macchina Linux.

il seguente URL funziona per me in Windows

 http://[email protected]/scm/project/swamy-main.git 

mentre il seguente URL funziona nella macchina Linux e ha https nell’URL

 https://[email protected]/scm/project/swamy-main.git 

https clone of gists fallisce (ssh funziona, vedi sotto):

 12:00 [email protected]:~/tmp$ GIT_CURL_VERBOSE=1 git clone https://gist.github.com/123456.git username Initialized empty Git repository in /home/jean/tmp/username/.git/ * Couldn't find host gist.github.com in the .netrc file; using defaults * About to connect() to gist.github.com port 443 (#0) * Trying 192.30.252.142... * Connected to gist.github.com (192.30.252.142) port 443 (#0) * found 141 certificates in /etc/ssl/certs/ca-certificates.crt * server certificate verification OK * common name: *.github.com (matched) * server certificate expiration date OK * server certificate activation date OK * certificate public key: RSA * certificate version: #3 * subject: C=US,ST=California,L=San Francisco,O=GitHub\, Inc.,CN=*.github.com * start date: Mon, 30 Apr 2012 00:00:00 GMT * expire date: Wed, 09 Jul 2014 12:00:00 GMT * issuer: C=US,O=DigiCert Inc,OU=www.digicert.com,CN=DigiCert High Assurance CA-3 * compression: NULL * cipher: ARCFOUR-128 * MAC: SHA1 > GET /123456.git/info/refs?service=git-upload-pack HTTP/1.1 User-Agent: git/1.7.1 Host: gist.github.com Accept: */* Pragma: no-cache < HTTP/1.1 301 Moved Permanently < Server: GitHub.com < Date: Fri, 01 Nov 2013 05:00:51 GMT < Content-Type: text/html < Content-Length: 178 < Location: https://gist.github.com/gist/123456.git/info/refs?service=git-upload-pack < Vary: Accept-Encoding < * Ignoring the response-body * Expire cleared * Connection #0 to host gist.github.com left intact * Issue another request to this URL: 'https://gist.github.com/gist/123456.git/info/refs?service=git-upload-pack' * Couldn't find host gist.github.com in the .netrc file; using defaults * Re-using existing connection! (#0) with host gist.github.com * Connected to gist.github.com (192.30.252.142) port 443 (#0) > GET /gist/123456.git/info/refs?service=git-upload-pack HTTP/1.1 User-Agent: git/1.7.1 Host: gist.github.com Accept: */* Pragma: no-cache < HTTP/1.1 200 OK < Server: GitHub.com < Date: Fri, 01 Nov 2013 05:00:52 GMT < Content-Type: application/x-git-upload-pack-advertisement < Transfer-Encoding: chunked < Expires: Fri, 01 Jan 1980 00:00:00 GMT < Pragma: no-cache < Cache-Control: no-cache, max-age=0, must-revalidate < Vary: Accept-Encoding < * Connection #0 to host gist.github.com left intact * Couldn't find host gist.github.com in the .netrc file; using defaults * About to connect() to gist.github.com port 443 (#0) * Trying 192.30.252.142... * connected * Connected to gist.github.com (192.30.252.142) port 443 (#0) * found 141 certificates in /etc/ssl/certs/ca-certificates.crt * SSL re-using session ID * server certificate verification OK * common name: *.github.com (matched) * server certificate expiration date OK * server certificate activation date OK * certificate public key: RSA * certificate version: #3 * subject: C=US,ST=California,L=San Francisco,O=GitHub\, Inc.,CN=*.github.com * start date: Mon, 30 Apr 2012 00:00:00 GMT * expire date: Wed, 09 Jul 2014 12:00:00 GMT * issuer: C=US,O=DigiCert Inc,OU=www.digicert.com,CN=DigiCert High Assurance CA-3 * compression: NULL * cipher: ARCFOUR-128 * MAC: SHA1 > POST /123456.git/git-upload-pack HTTP/1.1 User-Agent: git/1.7.1 Host: gist.github.com Accept-Encoding: deflate, gzip Content-Type: application/x-git-upload-pack-request Accept: application/x-git-upload-pack-result Content-Length: 116 < HTTP/1.1 301 Moved Permanently < Server: GitHub.com < Date: Fri, 01 Nov 2013 05:00:53 GMT < Content-Type: text/html < Content-Length: 178 < Location: https://gist.github.com/gist/123456.git/git-upload-pack < Vary: Accept-Encoding < * Ignoring the response-body * Connection #0 to host gist.github.com left intact * Issue another request to this URL: 'https://gist.github.com/gist/123456.git/git-upload-pack' * Violate RFC 2616/10.3.2 and switch from POST to GET * Couldn't find host gist.github.com in the .netrc file; using defaults * Re-using existing connection! (#0) with host gist.github.com * Connected to gist.github.com (192.30.252.142) port 443 (#0) > GET /gist/123456.git/git-upload-pack HTTP/1.1 User-Agent: git/1.7.1 Host: gist.github.com Accept-Encoding: deflate, gzip Content-Type: application/x-git-upload-pack-request Accept: application/x-git-upload-pack-result * The requested URL returned error: 400 * Closing connection #0 error: RPC failed; result=22, HTTP code = 400 

Questo funziona: git clone [email protected]:123456.git

Ho avuto questo errore ( errore: RPC non riuscito; risultato = 22, codice HTTP = 413 ) quando ho provato a inviare il commit iniziale a un nuovo repository BitBucket. L’errore si è verificato per me perché il repository BitBucket non aveva un ramo principale . Se stai usando SourceTree puoi creare un ramo master sull’origine premendo il pulsante Git Flow .

L’errore si verifica in “libcurl”, che è il protocollo sottostante per il caricamento di https. La soluzione è di aggiornare in qualche modo libcurl. Per ottenere maggiori dettagli sull’errore, imposta GIT_CURL_VERBOSE = 1

https://confluence.atlassian.com/pages/viewpage.action?pageId=306348908

Significato dell’errore, come per libcurl doc: CURLE_HTTP_RETURNED_ERROR (22)

Questo viene restituito se CURLOPT_FAILONERROR è impostato su TRUE e il server HTTP restituisce un codice di errore che è> = 400.

http://curl.haxx.se/libcurl/c/libcurl-errors.html

Ho avuto lo stesso problema (su Win XP), ho aggiornato il file libcurl-4.dll nella mia directory Git bin alla versione SSL da http://www.paehl.com/open_source/?download=curl_DLL_ONLY.7z (rinominando a libcurl4.dll). Tutto funziona bene ora.

Stava affrontando lo stesso problema. Nel mio caso si trattava di versioni GIT non compatibili su più utenti che stanno accedendo (pull / push) allo stesso progetto.

ho appena aggiornato la versione GIT e aggiornato il percorso sulle impostazioni dello studio Android e sta funzionando bene per me.

Modificare –

Git for Windows (1.9.5) ha qualche problema, l’aggiornamento dello stesso può aiutare.

Stava affrontando lo stesso problema ma è stato risolto ripulendo il repository git (pulisci i file non tracciati usando “git clean”).