Git запускає сміття автоматично :
• Якщо в сховищі занадто багато сипучих об'єктів
• Коли відбувається поштовх до віддаленого сховища
• Після деяких команд, які можуть ввести багато вільних об'єктів
• Коли деякі команди, такі як git reflog, закінчуються, явно вимагають цього
І нарешті, збирання сміття відбувається, коли ви явно запитуєте його за допомогою команди git gc. Але коли це має бути? На це питання немає твердої відповіді, але є кілька хороших порад та найкращої практики.
Вам слід розглянути можливість запуску git gc вручну в кількох ситуаціях:
• Якщо ви тільки що закінчили гіт-фільтр-відділення. Нагадаємо, що філія фільтр переписує багато комісій, вводить нові та залишає старі на посилання, яке слід видалити, коли ви задоволені результатами. Усі ті мертві предмети (на які більше не посилається, оскільки ви тільки що вилучили один посилання на них) слід видалити за допомогою сміття.
• Після деяких команд, які можуть ввести багато вільних об'єктів. Наприклад, це може бути великим зусиллям для відновлення.
А з іншого боку, коли слід остерігатися збирання сміття?
• Якщо є осиротілі рефлекси, які ви, можливо, захочете відновити
• В умовах git rerere, і вам не потрібно зберігати резолюції назавжди
• У контексті достатньо лише тегів та гілок, щоб Git постійно зберігав комісію
• У контексті пошуку FETCH_HEAD (пошук прямих URL-адрес через git fetch), оскільки вони негайно підлягають збору сміття