492 Stimmen

Fatal: vorzeitiges EOF fatal: Index-Pack fehlgeschlagen

Ich habe gegoogelt und viele Lösungen gefunden, aber keines funktioniert für mich.

Ich versuche, von einer Maschine zu klonen, indem ich mich mit dem Remote-Server verbinde, der sich im LAN-Netzwerk befindet.
Das Ausführen dieses Befehls von einer anderen Maschine führt zu einem Fehler.
Aber das Ausführen des GLEICHEN Klonbefehls unter Verwendung von git://192.168.8.5 ... auf dem Server ist in Ordnung und erfolgreich.

Irgendwelche Ideen?

user@USER ~
$ git clone  -v git://192.168.8.5/butterfly025.git
Cloning into 'butterfly025'...
remote: Counting objects: 4846, done.
remote: Compressing objects: 100% (3256/3256), done.
fatal: read error: Invalid argument, 255.05 MiB | 1.35 MiB/s
fatal: early EOF
fatal: index-pack failed

Ich habe diese Konfiguration in .gitconfig hinzugefügt, aber auch keine Hilfe.
Verwendung der Git-Version 1.8.5.2.msysgit.0

[core]
    compression = -1

817voto

ingyhere Punkte 10268

Zuerst komprimierung deaktivieren:

git config --global core.compression 0

Nächstes machen wir einen teilweisen Klon, um die Menge an herunterkommenden Informationen zu kürzen:

git clone --depth 1 

Wenn das funktioniert, gehe in das neue Verzeichnis und hol den Rest des Klonvorgangs ab:

git fetch --unshallow

oder alternativ,

git fetch --depth=2147483647

Jetzt mache einen regulären Pull:

git pull --all

Ich denke, es gibt ein Problem mit msysgit in den Versionen 1.8.x, das diese Symptome verschlimmert, daher ist eine andere Option, es mit einer früheren Version von git zu versuchen (<= 1.8.3, glaube ich).

210voto

bhdrkn Punkte 5506

Dieser Fehler kann aufgrund von Speicherbedarf von Git auftreten. Sie können diese Zeilen zu Ihrer globalen Git-Konfigurationsdatei hinzufügen, die .gitconfig in $USER_HOME ist, um das Problem zu beheben.

[core] 
packedGitLimit = 512m 
packedGitWindowSize = 512m 
[pack] 
deltaCacheSize = 2047m 
packSizeLimit = 2047m 
windowMemory = 2047m

57voto

Jacky Punkte 1507

Endlich gelöst durch git config --global core.compression 9

Aus einem BitBucket-Themen-Thread:

Ich habe es fast fünfmal versucht, und es passiert immer noch.

Dann habe ich versucht, eine bessere Kompression zu verwenden und es hat funktioniert!

git config --global core.compression 9

Aus der Git-Dokumentation:

core.compression
Eine Ganzzahl -1..9, die einen Standardkompressionsgrad angibt. -1 ist das zlib-Standardkomprimierung.
0 bedeutet keine Komprimierung, und 1..9 sind verschiedene Geschwindigkeits-/Größen-Kompromisse, 9 ist am langsamsten.
Wenn dies festgelegt ist, so dient es als Standard für andere Kompressionsvariablen, wie z.B. core.looseCompression und pack.compression.

46voto

cmpickle Punkte 772

Wie @ingyhere gesagt hat:

Flache Kopie

Zuerst deaktiviere die Kompression:

git config --global core.compression 0

Als nächstes machen wir eine partielle Kopie, um die Menge der heruntergeladenen Informationen zu reduzieren:

git clone --depth 1 

Wenn das funktioniert, gehe in das neue Verzeichnis und hole den Rest der Kopie ab:

git fetch --unshallow

oder alternativ

git fetch --depth=2147483647

Führe jetzt ein Pull durch:

git pull --all

Um das Problem zu lösen, dass dein lokaler Branch nur den Master verfolgt

Öffne deine Git-Konfigurationsdatei (.git/config) im Editor deiner Wahl

Wo es heißt:

[remote "origin"]
    url=
    fetch = +refs/heads/master:refs/remotes/origin/master

ändere die Zeile

fetch = +refs/heads/master:refs/remotes/origin/master

zu

fetch = +refs/heads/*:refs/remotes/origin/*

Führe ein git fetch durch und Git wird jetzt alle deine Remote-Branches abrufen

26voto

Umair Iqbal Punkte 1445

Ich habe den gleichen Fehler bekommen, auf meiner Seite habe ich ihn gelöst, indem ich diesen Befehl ausführt habe. In Windows gibt es ein Speicherproblem.

git config --global pack.windowsMemory 256m

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X