同步公司專案時間久了,git 相關操作就會越來越慢,有一說是分支或合併紀錄多了,需要比對的
差異也多了,後期就會越來越慢...
其實,上一次我覺得慢的時候是等大概手上專案任務告一段落後,直接砍掉本機的 repos,
然後重拉即可,這樣乾淨快速
但有時候就無法直接先刪除,所以問了AI,有沒有方法可以稍微解決這種狀況,
給了我一些提示,可以使用 git gc,這是壓縮本機git 紀錄的指令,語法如下,
但直接這個可能會需要花一點時間,畢竟要計算並且合併一些資源
> git gc --prune=now --aggressive
另外,再使用之前可以先透過以下指令觀察目前repos 的容量
> git count-objects -vH
使用後可以看到以下輸出結構
各欄位表示
count: 28 - 表示有 28 個 loose objects(鬆散物件)
size: 132.80 KiB - 上面 28 個鬆散物件總共佔用的空間是 132.80 KiB
in-pack: 1443664 - Git 已經將 1,443,664 個物件 打包進 pack 檔中
packs: 1 - 所有這些物件都被打包在 1 個 pack 檔案 裡
size-pack: 5.15 GiB - 這個 pack 檔案的總體積為 5.15 GiB
prune-packable: 0 - 表示沒有「鬆散物件」是可以被打包的
garbage: 0、size-garbage: 0 bytes - 沒有垃圾物件,也就是說 .git 裡沒有損壞或遺失參照的物件
執行壓縮後,packs 變多了, size-pack 稍微降一點,反倒是 in-pack 增加了一些
沒有留言:
張貼留言