2013-09-01 16 views
14

Tôi gặp sự cố khi đẩy thư mục cục bộ của mình vào kho lưu trữ từ xa trên GitHub.Không thể đẩy tới lỗi GitHub: các đối tượng đóng gói đã chết vì tín hiệu 13

Sau khi tôi đẩy nó được khoảng 96% sau đó cho thấy điều này ..

Counting objects: 4145, done. 
Delta compression using up to 2 threads. 
Connection to github.com closed by remote host. 
fatal: The remote end hung up unexpectedly 
Compressing objects: 98% (3919/3969) 

Sau đó, sau khi 2% sau cùng hoàn tất là chương trình lỗi này ...

Compressing objects: 100% (3963/3963), done. 
error: pack-objects died of signal 13 
error: failed to push some refs to '[email protected]:example/example.git' 

không chắc chắn những gì có nghĩa rằng .

Trả lời

11

Điều này có thể là do GitHub limits on file sizes mới hoặc có thể quy trình đóng gói bị lỗi do dữ liệu lớn (như trong câu hỏi SO khác từ 2011: Alternative way to do an initial push of a large repo) trước khi các giới hạn cụ thể đó thậm chí có thể được báo cáo.

Một vài tuần trước trên máy Mac OS X của một đồng nghiệp, tôi thấy một lỗi tương tự về lỗi khi đẩy (tho 'chỉ qua HTTPS - SSH đã đưa ra thông báo lỗi tốt) - nhưng đã cố gắng tái tạo điều này ngay bây giờ bằng cách đẩy tập tin lớn cho GitHub trên máy Mac của riêng tôi, tôi nhận được thông báo lỗi thông tin dự kiến ​​trên cả hai giao thức kết nối ("remote: error: Tệp lớn là 976.56 MB; vượt quá giới hạn kích thước tệp GitHub là 100 MB"). Có thể đồng nghiệp của tôi đã cài đặt phiên bản Git cũ hơn mà không thể báo cáo lỗi chính xác.

Nếu bạn quyết định bạn cần phải loại bỏ các tập tin lớn từ lịch sử Git của bạn (vì nó là cách duy nhất bạn sẽ nhận được họ đẩy lên GitHub), tôi có thể khuyên The BFG:

$ java -jar bfg.jar --strip-blobs-bigger-than 50M my-repo.git 

tiết lộ đầy đủ : Tôi là tác giả của BFG Repo-Cleaner.

+0

Sau khi điều tra thêm, nó chắc chắn là một cái gì đó để làm với kích thước tập tin. Thật kỳ quặc khi GitHub nói rằng bạn sẽ nhận được các thông báo lỗi thích hợp với các tệp lớn https://help.github.com/articles/working-with-large-files –

5

Giải pháp đơn giản là tăng kích thước bộ đệm bài đăng HTTP để cho phép các khối lớn hơn được đẩy lên tới repo từ xa. Để làm điều đó, chỉ cần nhập:

git config http.postBuffer 52428800 

Số này tính theo byte, vì vậy trong trường hợp này tôi đã đặt thành 50MB. Mặc định là 1MB.

+2

không hoạt động với tôi – Taysky

+0

Đã làm việc cho tôi. Đã cố gắng đẩy một số GIF vào GitHub và tôi không thể. Bây giờ tôi có thể. Cảm ơn. – Lukas

+2

Sửa lỗi này sẽ chỉ áp dụng cho các kết nối git/GitHub trên (các) kết nối http. Quyền truy cập của OP là thông qua ssh. – javabrett

1

Nếu bạn không thể bắt đầu quá trình xử lý, điều đó cũng có nghĩa là các quyền của kho lưu trữ máy chủ chính của bạn là sai. Tôi vừa mới đối mặt với vấn đề này, và kho lưu trữ của tôi trên master là với quyền root.root, vì vậy người dùng của tôi không thể ghi dữ liệu ở đó.

Bạn có thể thử kiểm tra quyền của kho lưu trữ chính của mình trước khi thử đẩy.

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