2009-12-04 25 views
5

Câu hỏi đơn giản, tôi đang cố gắng chạy git gc trên máy có hạn ngạch. Pre-gc, tôi đang sử dụng khoảng 18 GB, gần như tất cả đều là kho lưu trữ git nhân bản của tôi. Giới hạn đĩa của tôi là 25GB. Trong hoạt động git gc, đủ tệp tạm thời được ghi vào đĩa để đạt đến giới hạn của tôi và do đó khiến hoạt động git gc thất bại.git gc trên máy có hạn ngạch

Tôi có thể xóa .git/objects/pack/tmp_pack_* sau thao tác không thành công và quay lại mức sử dụng 18 GB nhưng tôi thực sự muốn hoàn thành git gc và giành lại hiệu suất nhỏ.

Có một số tùy chọn ưa thích (hoặc một loạt các lệnh git khác) mà tôi có thể sử dụng không liên quan đến việc viết đầu tiên> 7GB tệp tạm thời vào đĩa không?

+0

Bạn đang chạy phiên bản git nào? –

+0

phiên bản git 1.6.4 kb5 –

Trả lời

2

Phần nào của gc quan trọng đối với bạn? Bạn có thể thử chạy riêng các phần git-prunegit-repack. Với git-prune, hãy chắc chắn và chỉ định ngày ngắt với tùy chọn --expire. Nếu có một tấn các vật thể lỏng lẻo trong repo của bạn, hãy loại bỏ chúng ra khỏi con đường đầu tiên sẽ hữu ích. *

Với git-repack, bạn có thể lộn xộn với cài đặt chiều sâu và cửa sổ để có được thứ gì đó đủ nhỏ để chạy bên trong không gian bạn có.

* Tôi không giả vờ hiểu đầy đủ tất cả các vấn đề liên quan, nhưng tôi nhận thấy rằng mận có sau việc đóng gói lại trong mã git-gc.

0

Có vẻ như giải pháp tốt nhất là yêu cầu CNTT cho hạn ngạch lớn hơn, mặc dù tôi vẫn muốn nghe giải pháp. Hôm nay họ cảm thấy hào phóng, nhưng ngày mai ... :)

1

git prune là một gợi ý tuyệt vời, gọi điện tốt cho Jefromi.

Một điều khác bạn có thể làm là nén các tệp khác của mình; git gc; giải nén.

7z được nén tuyệt vời, nhưng sẽ không giữ lại liên kết cứng và chủ sở hữu/nhóm Unix, IIRC. Nếu bạn có hạn ngạch, các tệp có thể thuộc sở hữu của tài khoản của bạn, do đó bạn không phải lo lắng về điểm số đầu tiên. Nhưng an toàn nhất là tar c --lzma nếu bạn có hoặc chỉ tar czf hoặc cjf. Nếu bạn có nhiều tệp nhỏ, phân mảnh umm, bên ngoài (?) Đến kích thước khối có thể là đáng kể.

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