儲存庫內的物件檔案每次更新,只要有不一樣就會產生一個新的
隨著專案使用了一段時間
物件資料夾就會越來越大
git會定期封裝這些老舊物件到一個封裝檔內,如果不希望它自動執行
可以去調整設定值「gc.auto」將它設為「0」就可以關閉自動gc
設為7000的話,則表示當有7000 個左右的鬆散對象就符合自動執行gc的條件
另一個條件為封裝檔 packfile 的數量,可以透過gc.autopacklimit 來設定
當gc.autopacklimit設定為50,則表示當封裝檔 packfile 的數量達到50就會符合自動執行gc的條件
若要手動執行就要靠git gc 指令
這個指令的原文功能說明:Cleanup unnecessary files and optimize the local repository
就是把不需要的檔案清除以及優化本地儲存庫
官方中文說明:
收集所有鬆散物件並將它們存入 packfile,合併這些 packfile 進一個大的 packfile,然後將不被任何 commit 引用並且已存在一段時間 (數月) 的物件刪除。
也會將git/refs內的檔案挪到.git/packed-refs 檔中去以提高效率