Meu git
cliente falha repetidamente com o seguinte erro depois de tentar clonar o repositório por algum tempo.
Qual poderia ser o problema aqui?
Nota: Registrei minha chave SSH no provedor de hospedagem GIT
Receiving objects: 13% (1309/10065), 796.00 KiB | 6 KiB/s
fatal: The remote end hung up unexpectedly
git config --global http.postBuffer 524288000
algum efeito no seu clone? Existe alguma mensagem de erro adicional como um 'error: RPC failed; result=56, HTTP code = 0
'git config --global http.postBuffer 524288000
?Respostas:
Solução rápida:
Com esse tipo de erro, geralmente começo aumentando o
postBuffer
tamanho:(alguns comentários abaixo relatam ter que dobrar o valor):
Mais Informações:
Na
git config
página do manual ,http.postBuffer
trata-se de:Mesmo para o clone, isso pode ter um efeito e, neste caso, o OP Joe informa:
Nota: se algo der errado no lado do servidor e se o servidor usar o Git 2.5+ (Q2 2015), a mensagem de erro poderá ser mais explícita.
Consulte " Clonagem do Git: a extremidade remota desligou inesperadamente, tentou alterar
postBuffer
mas ainda falhou ".Kulai ( nos comentários ) aponta para esta página Atlitian Troubleshooting Git , que adiciona:
Ele também menciona a seguinte variável de ambiente, para ajudar no processo de depuração.
Com o Git 2.25.1 (fevereiro de 2020), você sabe mais sobre essa
http.postBuffer
"solução".Consulte commit 7a2dc95 , commit 1b13e90 (22 jan 2020) por brian m. Carlson (
bk2204
) .(Mesclado por Junio C Hamano -
gitster
- no commit 53a8329 , 30 de janeiro de 2020)( discussão na lista de discussão do Git )
Portanto, a documentação do
git config http.postBuffer
momento inclui:fonte
ssh://
.postBuffer
configuração tem algum efeito em um clone ou busca.Mesmo erro com o Bitbucket. Corrigido por
fonte
O truque http.postBuffer não funcionou para mim. Contudo:
Para outras pessoas que enfrentam esse problema, pode ser um problema no GnuTLS. Se você definir o modo detalhado, poderá ver o erro subjacente parecer algo ao longo das linhas do código abaixo.
Infelizmente, minha única solução até agora é usar o SSH.
Eu vi uma solução publicada em outro lugar para compilar o Git com o OpenSSL, em vez do GnuTLS. Há um relatório de bug ativo para o problema aqui .
fonte
100000000000000
Obs .: A alteração
http.postBuffer
também pode exigir a instalação do arquivo de configuração do Nginx para que o gitlab aceite tamanhos de corpo maiores para o cliente, ajustando o valor de client_max_body_size.No entanto, existe uma solução alternativa se você tiver acesso à máquina Gitlab ou a uma máquina em sua rede, e isso é usando
git bundle
.git bundle create my-repo.bundle --all
git clone my-repo.bundle
git remote set-url origin "path/to/your/repo.git"
git push
Muito bem sucedida!
fonte
A única coisa que funcionou para mim foi clonar o repositório usando o link HTTPS em vez do link SSH .
fonte
Se você estiver usando https e estiver recebendo o erro.
Eu usei https em vez de http e resolveu meu problema
fonte
Com base nesta resposta , tentei o seguinte (com https url):
git clone --depth 25 url-here
git fetch --depth 50
git fetch --depth 100
git fetch --depth 200
...e assim por diante
git fetch --unshallow
- e está feito.O processo, obviamente, leva muito mais tempo, mas na minha definição de caso
http.postBuffer
ecore.compression
não ajudou.UPD : Descobri que a busca via ssh funciona para qualquer tamanho de repositório (descoberto acidentalmente), feito com
git clone <ssh url>
, desde que você tenha criado chaves ssh. Depois que o repositório é buscado, altero o endereço remoto usandogit remote set-url <https url to repo>
fonte
Eu tenho solução depois de usar o comando abaixo:
git repack -a -f -d --window=250 --depth=250
fonte
Eu tenho o mesmo problema, eu corrigi isso com o método de tentativa e erro. Alterei o valor do core.compression até que funcione.
Comecei com "git config --global core.compression 1" após 3 tentativas
"git config - global core.compression 4" funcionou para mim.
fonte
Isto é devido ao problema de conectividade com a Internet, eu enfrentei o mesmo problema. Eu fiz uma cópia superficial do código usando
Mais tarde desalojou o clone usando
fonte
em
/etc/resolv.conf
adicionar a linha ao final do arquivofonte
Bem, eu queria fornecer uma solução de 219 MB, mas não tive sorte com
E qual é o sentido de ter um buffer posterior de 525 MB? é bobagem. Então, olhei para o erro git abaixo:
Então git quer postar 5 MB, então eu fiz o buffer pós 6 MB, e funciona
fonte
Eu tive o mesmo problema e estava relacionado a uma conexão ruim à Internet; portanto, depois de tentar algumas configurações do git, acabei de me desconectar da minha rede e conectar novamente e funciona!
Parece que após a conexão perdida (ou a ação que aciona essa situação), o git fica preso.
Espero que possa ser uma ajuda para alguém mais aqui.
melhor,
fonte
Eu também tive o mesmo problema. A razão para esse problema é como as descrições de Kurtis sobre o GNUTLS.
Se você tiver o mesmo motivo e seu sistema for Ubuntu, poderá resolver esse problema instalando a versão mais recente do git a partir de
ppa:git-core/ppa
. Os comandos são os seguintes.fonte
apt-get git
??Eu estava enfrentando esse problema ao clonar dados (via HTTP) de repositório git remoto hospedado na instância do AWS EC2 gerenciado pelo beanstalk elástico. A clonagem em si também foi realizada na instância do AWS EC2.
Tentei todas as soluções mencionadas e suas combinações:
http.postBuffer
http.maxrequestbuffer
git clone
e depoisgit fetch --unshallow
- veja fatal: EOF inicial fatal: índice-pacote falhoupackedGitLimit
e outros, veja aqui: fatal: EOF inicial fatal: índice-pacote falhouclient_max_body_size
a configuração do nginx - definindo o valor grande e 0 (ilimitado); configuraçãoproxy_request_buffering off;
options single-request
no /etc/resolv.confgit clone
Depois de tudo isso, eu ainda estava enfrentando o mesmo problema repetidamente, até descobrir que esse problema ocorre no Elastic Load Balancer (ELB) cortando a conexão . Depois de acessar a instância do EC2 (a que hospeda o Git Repo) diretamente, em vez de passar pelo ELB, finalmente consegui clonar o Git Repo! Ainda não tenho certeza de quais parâmetros do ELB (timeout) são responsáveis por isso, então ainda preciso fazer alguma pesquisa.
ATUALIZAR
Parece que alterar a política de Drenagem de conexão do AWS Elastic Load Balancer aumentando o tempo limite de 20 segundos para 300 segundos resolveu esse problema.
A relação entre os
git clone
erros e o "esgotamento da conexão" é estranha e não é óbvia para nós. Pode ser que a alteração do tempo limite da drenagem da conexão tenha causado algumas alterações internas na configuração do ELB que corrigiram o problema com o fechamento prematuro da conexão.Esta é a pergunta relacionada no fórum da AWS (sem resposta ainda): https://forums.aws.amazon.com/thread.jspa?threadID=258572
fonte
Eu tive um problema semelhante, mas com um trabalho de bambu. O Bamboo falhou ao executar um clone local (local, mas através de um proxy SSH) de um repositório em cache, excluí o cache e depois disso funcionava, mas sempre que ele tenta clonar a partir do cache local, ocorre uma falha. Parece um problema com a versão de bambu do proxy SSH, e não o git por si só.
fonte
Eu tenho o mesmo erro ao usar o BitBucket. O que fiz foi remover https do URL do meu repositório e definir o URL usando
HTTP
.fonte
RESOLVIDO COM WIFI Router Setting:
Eu tenho o mesmo problema quando estou no wifi com Configurações PPPoE (login automático pelo roteador wifi).
A velocidade de download do Git é 15kb muito lenta.
packet_write_wait: Conexão com a porta 17.121.133.16 22: fatal de pipe quebrado: a extremidade remota desligou inesperadamente fatal: fatal EOF inicial: fatal o pacote de índices
Solução: 1. Configuração alterada para IP dinâmico, reinicie o roteador wifi. 2. Do login do navegador da web ao portal do provedor de serviços da Internet (não configure o PPPoE, faça o login automático a partir do roteador wifi).
Depois de alterar a velocidade de download do Git, é de 1,7MiB.
fonte
Isso resolveu meu problema:
fonte
Os truques acima não me ajudaram, pois o repositório era maior que o tamanho máximo permitido no github. O que funcionou foi uma recomendação de https://github.com/git-lfs/git-lfs/issues/3758 que sugeria pressionar um pouco de cada vez:
fonte
Desperdiçou algumas horas tentando algumas dessas soluções, mas acabou atribuindo isso a um IPS corporativo (Instrusion Protection System) que interrompeu a conexão após a transferência de uma certa quantidade de dados.
fonte
Para largura de banda compartilhada, tente clonar quando a carga for menor. Caso contrário, tente com uma conexão de alta velocidade. Se ainda não funcionar, use o comando abaixo,
E tente clonar novamente. Pode ser necessário alterar essas configurações de acordo com o tamanho da memória disponível.
fonte
Pode ser tão simples quanto um problema no servidor. Se você estiver usando o GitHub, verifique https://twitter.com/githubstatus . Vi isso pela primeira vez agora e descobri que o GitHub está oscilando . Poucos minutos depois, funcionou novamente bem.
fonte
Isso funcionou para mim, configurando o servidor de nomes do Google porque nenhum servidor de nomes padrão foi especificado, seguido pelo reinício da rede:
fonte
Eu enfrentei esse problema usando o git no Kubuntu. Também notei instabilidade geral nas redes e encontrei uma solução .
Isso corrigiu atrasos antes que cada resolução de nomes de domínio e git começassem a funcionar como um encanto depois disso.
fonte
Eu encontrei o meu problema com o arquivo .netrc. Se você também o tiver, faça o seguinte:
Abra o arquivo .netrc e edite-o para incluir credenciais do github. Digite
nano ~/netrc
ougedit ~/netrc
Em seguida, inclua o seguinte: * machine github.com
Nome de usuário de login
senha SECRETA
machine api.github.com
Nome de usuário de login
senha SECRETA *
Você pode incluir sua senha bruta lá, mas por motivos de segurança, gere um token de autenticação aqui no github e cole-o no lugar da sua senha.
Espero que isso ajude alguém
fonte
Pode ser por causa do tamanho das confirmações que estão sendo enviadas. Divida o número de confirmações pelas seguintes etapas:
Veja os últimos 5 commits e você saberia quais não são enviados por push para o remoto. Selecione um ID de confirmação e envie todas as confirmações até esse ID:
NOTA: Acabei de verificar meu commit, que pode ter o maior tamanho; primeiro empurrado até então. O truque funcionou. !!
fonte
Eu estava fazendo git push no meu Mac OS X El Capitan. Eu estava recebendo o mesmo erro, tentei de tudo para corrigir o que encontrei no google / stackoverflow. No que diz respeito à versão, estou usando a versão mais recente do github, que é a 2.7.4. Criei um projeto no meu sistema local e queria que isso fosse público na minha conta do github. O tamanho do projeto não estava em torno de 8 MB. Percebi que quando eu estava enviando alguns arquivos de tamanho em torno de 1,5 MB, ele estava sendo enviado corretamente, mas com tamanho grande falhou para mim, com o mesmo erro,
A única opção que eu tinha era fazer alterações no pedaço de MB. Agora eu pressionei todas as alterações. Esta é uma solução alternativa para mim até que eu seja corrigido para esta solução.
Portanto, você também pode tentar empurrar a mudança na confirmação múltipla. Ou, se você tiver várias pastas, poderá enviar alterações por cada pasta (se o tamanho da pasta não for grande).
Espero que isso ajude você a trabalhar continuamente no projeto.
fonte
Diante do mesmo problema, tente mesclar-se com outro ramo e faça um puxão deles. Funciona para mim mesmo.
fonte
usar em
ssh
vez dehttp
, não é uma boa resposta para esta pergunta, mas pelo menos funciona para mimfonte