Git, fataal: de afstandsbediening hing onverwachts op

Toen ik probeerde te rennen

git push origin master --force

Ik heb net

Counting objects: 2649, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (1280/1280), done.
error: RPC failed; result=22, HTTP code = 413 | 116 KiB/s   
fatal: The remote end hung up unexpectedly
Writing objects: 100% (2504/2504), 449.61 MiB | 4.19 MiB/s, done.
Total 2504 (delta 1309), reused 2242 (delta 1216)
fatal: The remote end hung up unexpectedly
Everything up-to-date

Heeft het iets te maken met niet veilig zijn? Ik heb geprobeerd een openbare sleutel te maken zoals in het antwoord voor Fataal: het externe uiteinde hing op onverwachten start het opnieuw, maar het werkt nog steeds niet. Gebruik ik de sleutel niet echt? Zo ja, hoe gebruik ik het?


Antwoord 1, autoriteit 100%

Dit lijkt op Hoe krijg ik github standaard ingesteld op ssh en niet op https voor nieuwe repositories.
Waarschijnlijk is het de moeite waard om te proberen over te schakelen van http-protocol naar ssh:

$ git remote add origin [email protected]:username/project.git

Antwoord 2, autoriteit 99%

Het probleem wordt veroorzaakt door git/https bufferinstellingen.
Om het op te lossen (overgenomen van Git mislukt bij het pushen van commit naar github)

git config http.postBuffer 524288000

En voer de opdracht opnieuw uit


Antwoord 3, autoriteit 97%

Oorzaak: de standaard bestandspostgrootte voor Git is overschreden.

Oplossing:

Navigeer naar opslagplaats.

Voer de volgende opdracht uit om de buffer te vergroten tot 500 MB na het navigeren naar de repository:

git config http.postBuffer 524288000

Antwoord 4, autoriteit 39%

U krijgt mogelijk een foutmelding als deze

fout: kon configuratiebestand niet vergrendelen .git/config: geen dergelijk bestand of
map

dat komt omdat je geen lokaal .git/configbestand hebt. Je kunt het werkend krijgen met dit commando

git config --global http.postBuffer 524288000


Antwoord 5, autoriteit 28%

Andere oplossingen werkten niet in mijn geval, het doen van een garbagecollection loste het voor mij op:

git gc --aggressive

(Je kunt het proberen met gewoon
git gc
eerst)


Antwoord 6, autoriteit 20%

Dader (in mijn geval):
Een netwerk met hoge latentie.

Dit is niet per se een antwoord, maar meer een observatie die anderen kan helpen. Ik ontdekte dat deze fout af en toe opduikt op netwerken met hoge latentie (ik moet bijvoorbeeld een satellietschotel gebruiken voor internettoegang). De snelheid van het netwerk is prima, maar de latentie kan hoog zijn. Opmerking: het probleem bestaat alleen in bepaalde scenario’s, maar ik heb niet vastgesteld wat het patroon is.

Tijdelijke beperking:
Ik wisselde van netwerk – ik verhuisde naar een langzamer mobiel netwerk met lagere latentie (mijn telefoon werd gebruikt als hotspot) – en het probleem was verdwenen. Merk op dat ik dit slechts af en toe kan doen omdat mijn mobiele connectiviteit ook intermitterend is. Bovendien brengt het bandbreedtegebruik kosten met zich mee. Ik heb ook het geluk dat ik deze optie tot mijn beschikking heb. Niet iedereen doet dat.

Ik weet zeker dat er ergens een configuratie-instelling is die ervoor zorgt dat git—of ssh of curl of wat dan ook als eerste uitvalt—toleranter is voor dergelijke netwerken, maar ik weet niet wat het is.

Een pleidooi voor ontwikkelaars:
Dit soort problemen zijn een constant probleem voor de plattelandsbevolking. Denkt u alstublieft aan ons wanneer u uw systemen, tools en applicaties ontwerpt. Bedankt.


Antwoord 7, autoriteit 16%

In tegenstelling tot een van de andere antwoorden – ik had het probleem bij push met ssh – schakelde ik over naar https en het was opgelost.

git remote remove origin
git remote add origin https://github.com/user/repo
git push --set-upstream origin master

Antwoord 8, autoriteit 9%

Deze fout kan ook veroorzaakt worden door ontbrekende schrijfrechtenin de repository.


Mijn concrete geval ging als volgt:

  1. Ik heb een repo gemaakt met de root-gebruiker van mijn server (via SSH).
  2. Ik heb een git-servicegeïnstalleerd en een gitlinux-gebruiker gemaakt die alle git-gerelateerde actie.
  3. Tegen die tijd was ik vergeten dat de repo was gemaakt met de root-gebruiker in de eerste plaats, en de git-gebruiker had gewoon niet de bestandsrechten om iets in de repository te schrijven.

Antwoord 9, autoriteit 9%

Op basis van het protocol dat u gebruikt om naar uw opslagplaats te pushen

HTTP

git config --global http.postBuffer 157286400

Referenties:

SSH

Voeg het volgende toe aan het bestand ~/.ssh/configop uw linux-machine

Host your-gitlab-server.com
  ServerAliveInterval 60
  ServerAliveCountMax 5
  IPQoS throughput

Referenties:


Antwoord 10, autoriteit 7%

Dit artikel heeft een zeer goede uitleg en het heeft mijn probleem opgelost.

git config --global http.postBuffer 157286400

https://confluence.atlassian.com/stashkb/git-push-fails-fatal-the-remote-end-hung-up-unexpectedly-282988530.html


Antwoord 11, autoriteit 7%

Als je GitHub gebruikt, in de map van de repo, voer je deze opdracht uit om http.postBuffernaar wat de maximaal toegestane waarde voor GitHub lijkt te zijn:

git config http.postBuffer 2147483648

Als je in plaats daarvan een repo kloont met behulp van git clone, kan deze worden gekloond met dezelfde optie:

git clone -c http.postBuffer=2147483648 [email protected]:myuser/myrepo.git /path/to/myrepo

In beide gevallen is het bovenstaande getal gelijk aan 2 GiB. Het is echter mogelijk dat u tot deze hoeveelheid vrij geheugen nodig heeft om deze waarde te kunnen gebruiken.

Zorg ervoor dat elke push naar GitHub commits heeft die niet meer dan deze grootte aan wijzigingen toevoegen. In feite zou ik de push-grootte van de commit onder de 1.8 GiB houden om veilig te zijn. Dit kan vereisen dat een grote commit moet worden opgedeeld in kleinere commits en pushes.

Waarom deze waarde?

Deze specifieke waarde wordt gebruikt omdat deze waarde ten minste vanaf het jaar 2018 gedocumenteerd(archieflink)als de push-groottelimiet van GitHub:

we staan geen pushes van meer dan 2 GB toe

Waarom niet lager instellen?

Sommige eerdere antwoorden zeggen om het in te stellen op 524288000 (500 MiB), maar dit aantal lijkt willekeurig en ongegrond. Elke lagere waarde zou moeten werken zolang uw push-grootte niet groter is dan de ingestelde waarde.

Waarom niet hoger instellen?

Als u in plaats daarvan de waarde instelt op hoger dan 2 GiB, en als uw poging tot push-grootte ook hoger is, kunt u de gedocumenteerde fout met GitHub verwachten:

remote: fataal: pakket overschrijdt maximaal toegestane grootte


Antwoord 12, autoriteit 4%

Zelfs na het configureren van de postbuffer was het probleem niet opgelost.

Mijn probleem was opgelost toen ik mijn wifi-netwerk veranderde van breedband naar mijn mobiele hotspot. Dit is misschien niet het logisch juiste antwoord, maar het loste het probleem op.

Zorg voor een goede internetsnelheid.


Antwoord 13, autoriteit 3%

In ons geval was het probleem een kloon die een .git/config-bestand schreef dat een url-item bevatte dat een alleen-lezen toegangsmethode was. Het veranderen van de url van de ://methode naar de @methode loste het probleem op.

Het uitvoeren van git remote -vverlichtte het probleem enigszins.


Antwoord 14, autoriteit 3%

Als je git voor Windows gebruikt (en waarschijnlijk ben je dat, als je dit op een Windows-machine doet), en geen van de andere oplossingen hier werkte voor jou, ga dan naar https://github.com/git-for-windows/git/releases, en een versie op of na versie krijgen 2.4.5. Ik heb het goed opgelost.


Antwoord 15, autoriteit 3%

U hebt waarschijnlijk de repository binnen een bestaande gekloneerd, om het probleem op te lossen kunt u de repository eenvoudig in een andere map klonen en de wijzigingen naar deze nieuwe map repliceren en vervolgens de push uitvoeren.


Antwoord 16, autoriteit 3%

Nog een toevoeging, aangezien ik deze fout op een andere manier tegenkwam en Google me hierheen bracht.

Mijn probleem was een niet-overeenkomende zaak; een camelCase en een niet. Blijkbaar houdt GIT je hiervan tegen zonder je te vertellen waarom. Dus als je branches alleen in hoofdletters anders zijn dan de remote, probeer ze dan te veranderen zodat ze identiek zijn.

Zie:
Git: ‘Master kan niet worden omgezet naar vertakking’ na samenvoeging


Antwoord 17, autoriteit 3%

Dit kan gebeuren na het updaten van uw OSX-platform.

Open Terminal en navigeer naar uw .ssh-map en voer ssh-add -K ~/.ssh/id_rsa

in


Antwoord 18, autoriteit 3%

Onlangs had ik hetzelfde probleem. Bij het klonen van een externe repository kreeg ik de volgende foutmelding:

fataal: het externe uiteinde hing onverwachts op MiB | 7,00 KiB/s
fataal: vroege EOF
index-pack mislukt

Toen ik de fout googelde, werd ik hierheen geleid. En ik volgde de meeste antwoorden, maar loste mijn probleem niet op.

De enige oplossing was om mijn ‘Netwerkadapter (WiFi)-stuurprogrammasoftware‘ opnieuw te installeren. Dus wat ik wil benadrukken, is dat de bovenstaande fout ook het gevolg kan zijn van de problemen in de WiFi-stuurprogrammasoftware van uw pc. Als geen van de genoemde antwoorden niet werkt, kunt u proberen het WiFi-stuurprogramma opnieuw te installeren. Het zal het probleem oplossen.

U kunt het WiFi-stuurprogramma eenvoudig als volgt opnieuw installeren:

  1. Netwerk- en internetinstellingen openen

  2. Selecteer ‘Netwerk reset’

  3. Selecteer vervolgens ‘Nu resetten’

Nadat je je pc opnieuw hebt opgestart, probeer je git-bewerkingen met succes (duwen/trekken/klonen).


Antwoord 19, autoriteit 2%

PLESK Nginx en GIT
Ik kreeg deze fout op plesk git en terwijl ik een grote repo pushte met (wie weet wat) gaf het me deze fout met HTTP-code 413 en ik keek naar het volgende
Server was Plesk en er draaide zowel nginx als apache2 dus ik keek in logs en vond de fout in nginx logs

Gevolgd deze linkom plesk in staat te stellen de configuratie opnieuw op te bouwen door grotere bestanden te uploaden.

Ik heb het php-gedeelte voor git overgeslagen

Daarna werkte git push zonder fouten.


Antwoord 20, autoriteit 2%

In mijn geval kreeg ik deze foutmelding bij het pushen met Intellij Idea.

Hier is hoe ik mijn fout heb opgespoord en hersteld.

  • schakel logboekregistratie voor foutopsporing in de terminal in, wat nooit een slecht idee is 🙂
set GIT_CURL_VERBOSE=1 set GIT_TRACE=1 
  • duwen via de terminal, niet via intellij
git push 
-> fatal: The current branch feature/my-new-feature has no upstream branch.
To push the current branch and set the remote as upstream

Oplossing was om de upstream in te stellen, wat eerder fout moet zijn gegaan:

git push --set-upstream origin feature/my-new-feature

Antwoord 21, autoriteit 2%

Ik heb dit probleem opgelost door opnieuw in te pakken:

git repack --max-pack-size=100M -a -d

Ga naar Repository > Openen in opdrachtprompt in GitHub Desktop
Voer de volgende opdrachten uit:

set GIT_TRACE=1
set GIT_CURL_VERBOSE=1
git push origin <branch>

Antwoord 22

Ik kreeg toevallig dezelfde fout bij het ophalen.
Ik heb de truc “http.postBuffer” gedaan. Het loste het op, maar toen ik wilde pushen, kwam ik de fout opnieuw tegen.

Wat heeft mijn probleem opgelost:
1. Gekloond naar een andere map met een andere virtuele machine. (Linux).
2. Ik heb mijn wijzigingen aangebracht.
3. Gepusht met de originele virtuele machine waar ik aanvankelijk niet kon pushen. (Windows)


Antwoord 23

Ik heb hetzelfde probleem. Ik zag op de git-webpagina dat de SSH-kloon-URL de volgende structuur heeft:

[email protected]:user/project.git

Ik zou mijn probleem als volgt kunnen oplossen door de “:” door “/” te veranderen:

[email protected]/user/project.git

misschien kan dit nuttig zijn.


Antwoord 24

Het lijkt erop dat het een van de duizend dingen kan zijn.

Voor mij was ik aanvankelijk bezig met het pushen van master en development (master had geen wijzigingen) via SourceTree. Dit wijzigen om alleen te ontwikkelen werkte.


Antwoord 25

Ik kreeg te maken met een soortgelijke fout bij het uploaden van een grote opslagplaats, “fataal: het externe einde hing onverwachts op” zonder verdere details.

Na veel onderzoek heb ik het volgende gedaan:

  • Het gebruik van SSH in plaats van HTTPS loste het probleem niet op.
  • Verhoging van http.postBuffer stapsgewijs tot een zeer grote waarde, nog steeds niet
    geluk.
  • Ik kwam erachter dat dit zou kunnen komen door grote bestanden in
    de repo (aangezien dit een nieuw gemigreerde repo is van perforce), dus heb ik de repo opnieuw gemaakt met LFS, waarbij ik largeFileThreshold instelde op 40m, wat de repo-grootte aanzienlijk verkleinde (van 3,5G naar 500M).
    Ik dacht dat dit het probleem zou oplossen, maar tot mijn verbazing kreeg ik nog steeds te maken met dezelfde fout.

Eindelijk kwam het bij me op dat ik misschien een oudere git-client gebruik, omdat ik geen extra foutmeldingen heb gezien.
Ik heb git client geüpgraded naar de nieuwste(2.20.1), en voila, de fout is verdwenen!


Antwoord 26

Het lijkt bijna zinloos om een antwoord toe te voegen, maar ik vocht hier al tijden tegen toen ik eindelijk ontdekte dat het Visual Studio Online was met een sporadische storing. Dat werd duidelijk toen VS bleef vragen om creds en de VSO-website soms een 500 gaf.

Counting objects: 138816, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (38049/38049), done.
error: unable to rewind rpc post data - try increasing http.postBuffer
error: RPC failed; curl 56 SSL read: error:00000000:lib(0):func(0):reason(0), errno 10054
The remote end hung up unexpectedly/138816), 33.30 MiB | 3.00 KiB/s
Writing objects: 100% (138816/138816), 50.21 MiB | 3.00 KiB/s, done.
Total 138816 (delta 100197), reused 134574 (delta 96515)
fatal: The remote end hung up unexpectedly
Everything up-to-date

Ik heb mijn HTTP-postbuffer daarna teruggezet naar 2 MB, omdat ik denk dat het met veel kleinere berichten beter werkt.


Antwoord 27

Geen van de bovenstaande oplossingen werkte voor mij, maar de inzet die ik pushte was erg groot.

Heel eenvoudig, ik splitste het in twee commits en pushte elk afzonderlijk en het ging meteen door.


Antwoord 28

De volgende commando’s kunnen je misschien helpen…

git config --global http.postBuffer 1048576000
git config --global http.lowSpeedLimit 0
git config --global http.lowSpeedTime 999999

Antwoord 29

Ik kreeg deze foutmelding toen ik een onjuist sleutelpaar had in .ssh. Het toevoegen van de pubkey aan github (in instellingen) loste dit probleem voor mij op.


Antwoord 30

Ik kreeg deze foutmelding toen ik de naam van mijn remote branch verkeerd had gespeld

Other episodes