Versi singkat: artinya apa yang dikatakannya, dan jika Anda membiarkannya selesai, semuanya akan baik-baik saja.
Selama sebagian besar operasi yang berpotensi meningkatkan jumlah objek lepas (tidak terbungkus) dalam repositori (termasuk dorongan), Git memanggil git gc --auto
. Jika ada cukup banyak objek longgar (secara default, setidaknya 6700), maka akan dipanggil git repack -d -l
untuk mengemasnya. Jika ada terlalu banyak paket terpisah, itu juga akan mengemasnya menjadi satu.
Paket adalah file tunggal terkompresi-delta, berisi sejumlah besar objek. Ini lebih efisien untuk menyimpan objek dalam paket, tetapi membutuhkan waktu untuk mengemas (kompres) objek, jadi Git awalnya membuat objek yang longgar, lalu mengemasnya dalam batch sekarang dan kemudian, melalui permintaan otomatis git gc --auto
.
Jika Anda membiarkan Git selesai mengemas ulang, ini tidak akan terjadi lagi untuk sementara waktu. Memang bisa memakan waktu, terutama jika Anda memiliki banyak objek biner besar, tetapi jika itu memicu, maka itu pertanda bahwa itu mungkin akan secara drastis mengurangi jumlah ruang disk yang diambil oleh repo. Jika Anda benar-benar tidak ingin itu terjadi, Anda dapat mengubah parameter konfigurasi gc.auto
. Jika Anda meningkatkannya ke sesuatu yang jauh lebih besar dari 6700, itu akan terjadi lebih jarang, tetapi butuh waktu lebih lama ketika itu terjadi. Jika Anda menguranginya, itu masih harus melakukan repack Anda saat ini, tetapi selanjutnya itu akan terjadi lebih sering dan selesai lebih cepat. Jika Anda mengaturnya ke 0, itu akan menonaktifkan pengemasan ulang otomatis.
Lihat man git-gc
(di bawah --auto
) dan man git-config
(di bawah gc.auto
) untuk informasi lebih lanjut.