Eu tenho apenas um ramo. Por alguns meses eu tenho usado
git push origin master
comprometer-se com meu repositório local. Ontem à noite, depois que fiz algumas pequenas alterações no meu repositório local e tentei usar o mesmo comando, recebi este erro:
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
Pesquisei no Google e encontrei perguntas como esta e esta , mas nenhuma das respostas para essas perguntas resolve meu problema.
A maioria das respostas sugere o problema da cabeça separada . No entanto, não acho que minha cabeça esteja desapegada. Também não acho que estou no ramo errado (como só tenho um ramo ...)
Fiz algumas experiências para descobrir o que há de errado, e aqui estão os resultados que obtive:
(1) Primeiro vem a minha git status
saída
# 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 ver todos os meus commits locais, mas o repositório remoto simplesmente não é atualizado.
(3) Quando digito git branch -a
, recebo
* master remotes/origin/master
(4) Quando digito git remote show origin
, recebo
* 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)
Eu acho que a última linha de saída (o "avanço rápido") é estranha, mas não tenho certeza do que está errado ...
fast-forwardable
significa que você pode empurrar suas alterações locais para o ramo remoto, nada de criminoso :-)Respostas:
Se você tentar empurrar um grande conjunto de alterações para um repositório Git com HTTP ou HTTPS, você pode receber uma mensagem de erro como erro:
RPC failed; result=22, HTTP code = 411
. Isso é causado por um padrão de configuração do Git que limita certas operações HTTP a 1 megabyte.Para alterar esse limite, execute no seu repositório local
onde bytes é o número máximo de bytes permitido. Por exemplo:
Por 500MB (obrigado @Hengjie)
fonte
git config http.postBuffer 524288000
para 500 MB./etc/nginx/sites-available/gitlab
). Mais informações: github.com/gitlabhq/gitlabhq/issues/3099RPC failed; result=22, HTTP code = 502
?Você também pode fazer isso globalmente -
Isso permitirá que todos os repositórios locais enviem até 500 MB de dados.
fonte
Nenhuma das soluções fornecidas funcionou para nós. Tivemos que mudar para
ssh
fazer isso funcionar em vez daHTTPS
solução.fonte
Se você estiver usando o TortoiseGit for Windows, a maneira mais fácil é usar a configuração integrada.
No explorador de arquivos, pressione o botão esquerdo do mouse, selecione TortoiseGit -> Configurações . Aceite a mensagem informativa. Agora, você pode escolher se deseja configurar a propriedade apenas para o projeto ou sistema atual em branco. Para configuração em todo o sistema, pressione "editar systemit gitconfig" e adicione a próxima linha à seção
[http]
:(se a seção
[http]
não existir, crie-a)fonte
Resolvi o erro 22 da seguinte maneira: No comando "git clone", NÃO forneço ao usuário: senha. O clone funcionou, mas não o empurrão. Solução para o erro 22: Modifique .git / config do URL da seguinte forma: url = http: // user: pwd @ host / ... Então, o push funcionou.
fonte