Catatan : Saya tidak berpikir ini adalah duplikat dari pertanyaan ini , yang berbicara tentang paket non-latar belakang yang hang git dengan pesan kesalahan agak berbeda .
Di salah satu repositori git saya, setiap kali saya memanggil (misalnya) git fetch
, git mencetak:
Auto packing the repository in background for optimum performance.
See "git help gc" for manual housekeeping.
Tampaknya mencetak ini setiap kali jika saya melakukan git fetch
berulang kali, bahkan ketika tidak ada perubahan dan tidak ada yang git fetch
harus dilakukan. Ini tidak masuk akal bagiku. Ini juga tampaknya terjadi dengan operasi jaringan lain, seperti git push
dan git pull
.
Perintah kembali ke prompt secara instan tanpa keluaran lebih lanjut, dan saya tidak dapat menemukan proses git yang berjalan di mesin saya. Tampaknya hanya terjadi dengan repositori ini, dan hanya di mesin ini. git config -l | grep gc
tidak mengembalikan apa-apa.
Apa yang dapat saya lakukan untuk mendiagnosis atau memperbaiki masalah ini?
$ git --version
git version 2.0.1
Saya menggunakan OS X 10.9.
sumber
Jawaban:
Saya menemukan solusi dari komentar kedua yang Anda berikan, Trengot, terima kasih. Ternyata saya memiliki beberapa gumpalan yang menggantung, yang ada di dalam
.git/objects/17
dan karenanya memicu pengepakan:Ini membersihkan mereka:
Sadarilah, sesuai komentar Henrik di bawah ini, ini mungkin sedikit berbahaya. Hati hati!
sumber
--prune=now
ini sedikit berbahaya. Secara default,--prune
akan menyimpan 2 minggu gumpalan yang menggantung, artinya jika Anda secara tidak sengaja melakukan rebase yang salah 5 menit yang lalu, atau menghapus cabang kemarin, Anda dapat memulihkannya. Setelah Anda menjalankan perintah ini, Anda kehilangan semua blog yang menjuntai hingga saat ini - bukan 2 minggu yang lalu. Selain itu, sepertinya Anda tidak boleh menjalankannya saat menjalankan perintah Git lain di terminal lain, atau repo Anda bisa rusak.