[英]repository size not reduce after gc
我嘗試減少我的 repo 大小並將其推送到遠程new-remote
中。 我嘗試的是
git checkout --orphan clean
創建一個新分支git rm --cached
清理那些大文件git reflog expire --expire=now --all
進一步清理 ref,然后是git gc --aggresive --prune=now
。 我希望通過這種方式我只需要刪除 HEAD 中的大文件,因為此分支不包含任何歷史記錄。但是,在我git push
之后,我發現compressing object
減少了,但counting object
仍然相同。 我能知道為什么會這樣嗎?哪個是new-remote
是否會縮小回購的更好指標? 在我的情況下是否需要git filter-branch
?
如果您在一個新的孤立分支中從頭開始,我會通過克隆您剛剛推送到的遠程存儲庫來檢查存儲庫的實際大小。
通過將遠程克隆到新的本地文件夾中,您將獲得新存儲庫的實際大小。
但是,如果該遠程存儲庫仍然包含所有其他分支(而不僅僅是新的孤立分支),您仍然會在過去的提交中獲得大文件。
然后我會建議:
git filter-repo
(python-based)git filter-repo --strip-blobs-bigger-than 2M
。 ( 基於內容的過濾)git push --mirror
:確保通知該存儲庫上的任何協作者)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.