2011-10-09 22 views
11

Tôi đang cố gắng để đẩy mã của tôi vào github, nhưng hầu như mọi tôi gặp lỗi nàyRPC không thành công; kết quả = 28, mã HTTP = 0

error: RPC failed; result=28, HTTP code = 0 
fatal: The remote end hung up unexpectedly 
fatal: The remote end hung up unexpectedly 

Thật khó chịu. Có ai biết sửa nó không?

Cập nhật Sau khi tôi googled, tôi đọc rằng chạy git config --global http.postBuffer 524288000 có thể giải quyết được sự cố. Nhưng ngay cả sau khi tôi chạy lệnh đó, tôi vẫn gặp vấn đề.

Trả lời

27

Sử dụng git: // hoặc git + ssh: //, https không

+0

Tuyệt. Những công việc này. Tôi đã sử dụng https vì một số lý do mà ssh không thể làm việc với proxy văn phòng của tôi. Lỗi trên chỉ xảy ra khi tôi đang làm việc ở nhà tôi. Vì url từ xa có thể dễ dàng chuyển từ git sang https ngược lại, giải pháp này rất tuyệt. Cảm ơn. –

+3

Có giải thích tại sao lỗi xảy ra với url https không? –

+0

Xin lỗi, không tìm thấy gì từ các chàng trai github, nhưng rắc rối truy tìm thời gian dài để quá khứ với công thức singe để sửa chữa –

0

tôi gặp cùng một vấn đề (làm việc sau một proxy và không thể truy cập git: //)

có lẽ nó phụ thuộc về tình hình mạng?

thực hiện "đẩy" nhiều lần hơn và nó hoạt động đối với tôi. (đẩy tổng 5 lần, 2 thành công)

btw, tôi đang sử dụng "https_proxy" biến môi trường, không phải là "http_proxy"

0

Đó mã lỗi là một lỗi thời gian chờ trên máy khách. Mặc dù tôi nghi ngờ rằng phía máy chủ đang đóng như thông báo gợi ý. Để thử và tìm hiểu thêm thông tin bạn có thể thử thiết lập các biến môi trường GIT_CURL_VERBOSE=1 cho push của bạn ví dụ:

GIT_CURL_VERBOSE=1 git push origin

này có thể cung cấp cho bạn một dấu hiệu của cho dù đó là thời gian khách hàng ra hoặc máy chủ ngắt kết nối đó là bản gốc lỗi. Có một số điều bạn có thể làm để đảm bảo rằng bạn không phải lúc nào cũng gặp lỗi này.

  1. Kiểm tra thời gian chờ ở phía máy chủ, nếu bạn có thể kiểm soát. Chúng có thể quá nhỏ. Điều này phụ thuộc vào việc triển khai máy chủ.
  2. Kiểm tra kho lưu trữ của bạn để tìm các tệp lớn, đặc biệt là tệp nhị phân. Đây có thể được xử lý khác nhau.
  3. Đảm bảo bạn không đặt http.lowSpeedLimit, http.lowSpeedTime vô tình: chúng sẽ bị tắt theo mặc định (bằng cách xem mã).

Repository lớn

Đối với điểm 2. Có một số điều bạn có thể làm gì nếu bạn nghi ngờ rằng các gói bạn đang đẩy mạnh là các đối tượng lớn. bài viết trên blog này là khá chi tiết về đề tài này:

http://blogs.atlassian.com/2014/05/handle-big-repositories-git/

Tôi không nghĩ rằng http.postBuffer thực sự là một giải pháp ở đây.

0

Nói chung, các điều kiện và mã lỗi này do cấu hình sai mạng hoặc kết nối internet không đáng tin cậy vào lúc này. Thông thường sau một vài lần thử, mọi thứ sẽ trở lại bình thường. Hãy thử các giao thức kết nối khác nhau nếu sự cố vẫn tiếp diễn sau một vài lần thử.

0

Không cần sử dụng SSH ở đây như được đề cập trong câu trả lời được chấp nhận. Gần đây đã bị mắc kẹt với cùng một vấn đề.Tăng kích thước bộ đệm mặc định 1 MiB lên một giá trị lớn:

git config --global http.postBuffer 1048576000 

rồi thử git push remote branch_name.

Hy vọng nó sẽ giúp ai đó.

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