2012-09-29 20 views
108

Ho un solo ramo. Per alcuni mesi ho utilizzatogit push fallisce: RPC fallito; risultato = 22, codice HTTP = 411

git push origin master 

da impegnare nel mio repository locale. Ieri sera dopo che ho fatto alcune piccole modifiche al mio repository locale e ho cercato di spingere utilizzando lo stesso comando, ho ottenuto questo errore:

error: RPC failed; result=22, HTTP code = 411 
fatal: The remote end hung up unexpectedly 
fatal: The remote end hung up unexpectedly 
Everything up-to-date 

Googled e trovato domande come this one e this one, ma nessuna delle risposte per queste domande risolvono il mio problema.

La maggior parte delle risposte suggerisce il problema di testata staccata. Eppure non penso che la mia testa sia distaccata. Né penso di essere sul ramo sbagliato (come ho solo un ramo ...)

ho fatto alcuni esperimenti per capire cosa c'è che non va, e qui sono i risultati che ho ottenuto:

(1) Prima viene il mio git status uscita

# On branch master 
# Untracked files: 
# (use "git add <file>..." to include in what will be committed) 
# 
# egal.aux 
# egal.blg 
# egal.out 
# egal.pdf 
# egalcar.aux 
# egalcar.blg 
# egalcar.pdf 
nothing added to commit but untracked files present (use "git add" to track) 

(2) Quando digito git reflog, posso vedere tutte le mie commit locali, ma il repository remoto semplicemente non viene aggiornata.

(3) Quando digito git branch -a, ottengo

* master 
    remotes/origin/master 

(4) Quando digito git remote show origin, ottengo

* remote origin 
    Fetch URL: http://github.com/CherryQu921/egaldoc_en 
    Push URL: http://github.com/CherryQu921/egaldoc_en 
    HEAD branch: master 
    Remote branch: 
    master tracked 
    Local ref configured for 'git push': 
    master pushes to master (fast-forwardable) 

Credo che l'ultima riga di output (il "fast- forwardable ") è strano, ma non sono sicuro di cosa sia sbagliato ...

+0

'fast-forwardable' significa che è possibile inviare le modifiche locali al ramo remoto, niente di criminale :-) –

risposta

246

Se si tenta di inviare un ampio set di modifiche a un repository Git con HTTP o HTTPS, è possibile che venga visualizzato un messaggio di errore come errore: RPC failed; result=22, HTTP code = 411. Questo è causato da un default di configurazione Git che limita alcune operazioni HTTP a 1 megabyte.

Per modificare questo limite funzionato all'interno del tuo repository locale

git config http.postBuffer *bytes* 

dove byte è il numero massimo di byte consentiti. Per exmaple:

git config http.postBuffer 524288000 

Per 500MB (grazie @Hengjie)

+1

correct! Grazie! – CherryQu

+50

Un esempio è 'git config http.postBuffer 524288000' per 500 MB. – Hengjie

+9

Se si utilizza gitlab, potrebbe essere necessario modificare anche la configurazione di nginx ('/ etc/nginx/sites-available/gitlab'). Maggiori informazioni: https://github.com/gitlabhq/gitlabhq/issues/3099 – DanielB

22

Si può anche fare questo a livello globale -

git config --global http.postBuffer 524288000 

che permetterà a tutti i repository locali per spingere fino a 500 MB di dati.

2

Se si utilizza TortoiseGit per Windows, il modo più semplice è utilizzare la configurazione integrata.

In un file explorer premere il tasto sinistro del mouse, selezionare TortoiseGit -> Impostazioni. Accetta il messaggio informativo. Ora puoi scegliere se vuoi configurare la proprietà solo per il progetto o il sistema corrente.Per la stampa configurazione dell'intero sistema "modificare gitconfig dell'intero sistema" e aggiungere la riga accanto alla sezione [http]:

postBuffer = 524288000 

(è la sezione [http] non esiste, crearlo)

2

Nessuna delle soluzioni fornite lavorato per noi. Abbiamo dovuto passare a ssh per fare questo lavoro invece della soluzione HTTPS.

0

Ho risolto l'errore 22 come segue: Nel comando "git clone" NON ho fornito all'utente: password. Il clone ha funzionato, ma non la spinta. Soluzione per l'errore 22: Modifica .git/config l'url come questo: url = http://user:[email protected]/ ... Quindi, la spinta ha funzionato.

Problemi correlati