2014-12-26 19 views
8

Git đã cho tôi một món quà giáng sinh đáng yêu ... Tôi đang cố gắng để git push một loạt các cam kết, như 6 GB. Và tôi nhận được thông báo lỗi sau:Git gây tử vong: gói có đối tượng xấu tại bù đắp X: inflate trả về -5

-Counting objects: 525, done. 
Delta compression using up to 24 threads. 
Compressing objects: 100% (474/474), done. 
fatal: pack has bad object at offset 3453162391: inflate returned -5 
error: pack-objects died of signal 13 
error: failed to push some refs to ....git 

Điều này có nghĩa là gì và được khắc phục như thế nào? Từ Google, tôi có thể nói rằng nó có liên quan đến kích thước của những gì tôi đang cố gắng thúc đẩy.

Điều này đã xảy ra khi đang viết.

+0

Bạn đã thử đẩy tùy chọn '--no-thin' chưa? – kaman

+0

Có, thật không may là điều đó không giúp được gì. –

+0

Bạn có thể thử và chỉ đẩy một vài cam kết (như HEAD ~ 3) và xem điều đó có giúp ích không? – VonC

Trả lời

2

Dựa trên bù đắp của bạn, có vẻ như bạn đang cố gắng để thúc đẩy một số đối tượng thực sự lớn (bù đắp 3453162391 = ~> = 3GB), do đó zlib thất bại trên lạm phát/nén các đối tượng kể từ khi không có đủ phòng ở bộ đệm đầu ra (lỗi: Z_BUF_ERROR).

Điều này có thể liên quan đến việc thiếu bộ nhớ tạm thời hoặc một số giới hạn bộ đệm. Về cơ bản nó đang cố gắng xử lý càng nhiều đầu vào càng tốt bằng cách sử dụng đầu ra có sẵn, nếu không nó sẽ trả về Z_BUF_ERROR. Xem: zlib inflate returning a buffer error.

Bạn nên thử xem liệu sự cố có thể được sao chép hay không.

Nếu vấn đề là lặp lại, sau đó cố gắng:

  • tránh đẩy các file lớn thành kho git, Git được thiết kế để theo dõi các tập tin mã nguồn, không phải tập tin rất lớn (như 6GB),

  • tăng kích thước thư git trên ứng dụng khách của bạn http.postBuffer, ví dụ:

    git config http.postBuffer 134217728 # =~ 128MB 
    
  • sử dụng một số khách hàng thay thế có thể bỏ qua các đốm lớn hơn, chẳng hạn như bfg, ví dụ:

    java -jar bfg.jar --strip-blobs-bigger-than 100M some-big-repo.git 
    
  • xóa đối tượng đang gây ra sự cố (git gc?).

vấn đề tiềm năng khác có thể bao gồm:

Để đọc thêm, hãy xem bài đăng này: “pack has bad object” when pushing to remote.

Các vấn đề liên quan