Git chạy bộ sưu tập rác tự động :
• Nếu có quá nhiều đối tượng lỏng lẻo trong kho lưu trữ
• Khi đẩy đến một kho lưu trữ từ xa xảy ra
• Sau một số lệnh có thể giới thiệu nhiều đối tượng lỏng lẻo
• Khi một số lệnh như git reflog hết hạn yêu cầu rõ ràng
Và cuối cùng, bộ sưu tập rác xảy ra khi bạn yêu cầu rõ ràng bằng cách sử dụng lệnh git gc. Nhưng khi nào thì nên? Không có câu trả lời chắc chắn cho câu hỏi này, nhưng có một số lời khuyên tốt và thực hành tốt nhất.
Bạn nên xem xét việc chạy git gc bằng tay trong một vài tình huống:
• Nếu bạn vừa hoàn thành một nhánh lọc git. Hãy nhớ lại rằng nhánh lọc viết lại nhiều cam kết, giới thiệu những cái mới và để lại những cái cũ trên một tham chiếu cần được loại bỏ khi bạn hài lòng với kết quả. Tất cả những đối tượng đã chết (không còn được tham chiếu vì bạn vừa xóa một tham chiếu trỏ đến chúng) nên được xóa qua bộ sưu tập rác.
• Sau một số lệnh có thể giới thiệu nhiều đối tượng lỏng lẻo. Đây có thể là một nỗ lực rebase lớn, ví dụ.
Và mặt trái, khi nào bạn nên cảnh giác với việc thu gom rác?
• Nếu có những đứa trẻ mồ côi mà bạn có thể muốn phục hồi
• Trong ngữ cảnh của git rerere và bạn không cần phải lưu các độ phân giải mãi mãi
• Trong ngữ cảnh chỉ các thẻ và các nhánh là đủ để khiến Git giữ lại một cam kết vĩnh viễn
• Trong ngữ cảnh của các truy xuất FETCH_HEAD (truy xuất trực tiếp URL qua git fetch) vì chúng ngay lập tức bị thu gom rác