2009-10-19 37 views
5

Tôi đang cố gắng để chạy git clone và đang nhận được lỗi sau:git-clone lỗi cấp phát bộ nhớ

fatal: Out of memory, malloc failed 
fatal: index-pack died with error code 128 
fetch-pack from '[email protected]:git' failed. 

tôi đã có thể làm thành một bản sao trên máy tính địa phương của tôi, nhưng nó không khi tôi cố gắng để sao chép sang một máy chủ khác.

Vẫn còn hơi mới đối với toàn bộ điều này, vì vậy mọi trợ giúp sẽ được đánh giá cao. :)

+0

Tôi nghĩ rằng cái chết đang xảy ra trên máy chủ; máy chủ có bao nhiêu bộ nhớ? Repo lớn đến mức nào? 'Git count-objects' nói gì? –

+0

Chính xác, ý của bạn là gì khi bạn nói "sao chép ** sang ** một máy chủ khác"? – innaM

Trả lời

5

Bạn có tệp lớn trong kho lưu trữ của mình (ví dụ như tệp nhật ký) không?
Dường như, kho lưu trữ của bạn quá lớn không thể truy lục được trên ổ cứng của bạn.

Có hai điều bạn có thể làm:

  • Kiểm tra cho các tập tin lớn và loại bỏ chúng nếu chúng không phải là hữu ích (không chỉ bằng cách cam kết Nhưng cũng bởi modifying your history Nếu bạn vẫn còn file lớn của bạn trong.. kho của chúng tôi, nó sẽ không được nhỏ hơn.
  • Thực hiện "git gc". nó sẽ tự động dọn dẹp các file không sử dụng và nén kho.
+0

git tạo một gói mới cho mỗi bản sao, chứa các đối tượng liên quan cho cloner; vì vậy, tôi không nghĩ git gc sẽ giúp. –

+0

Vâng, chúng tôi đã bỏ qua một tệp lớn (trong trường hợp này là kho lưu trữ zip) dường như đang gây ra sự cố. Liên kết về sửa đổi lịch sử là một sự trợ giúp lớn. Cảm ơn vì điều đó. – nevan

+0

Làm thế nào để bạn làm điều này trên một chi nhánh từ xa? – Paul

1

Nếu git trên máy từ xa thất bại do bộ nhớ hạn chế bạn cũng có thể thử rsync hoặc scp để sao chép kho lưu trữ vào máy cục bộ của bạn và tiếp tục sao chép từ đó.

0

Bạn có thể chạy lệnh git clone với --depth -1. Thao tác này sẽ chỉ tìm nạp lần commit cuối cùng, vì vậy các hoạt động liên quan đến lịch sử (git log, đổ lỗi, hoặc thậm chí push/pull) có thể không hoạt động. Tuy nhiên, nó cần sử dụng bộ nhớ ít hơn, không gian đĩa và chuyển mạng.

Những hạn chế được mô tả ở đó: Why can't I push from a shallow clone?

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