[英]Removing unwanted folders from git repo permanently - Repo size not changing
我有git repo,我不小心將一些庫文件提交到git遠程倉庫。
現在它已經增加了大約6.23 GB的大小。 然后我嘗試使用以下命令刪除庫
git filter-branch -f --index-filter "git rm -rf --cached --ignore-unmatch node_modules" -- --all
rm -rf .git/refs/original/
git reflog expire --expire=now --all
git gc --prune=now
git gc --aggressive --prune=now
現在,庫已從存儲庫中刪除,並且它未在repo文件夾中列出。 但是,本地回購的規模仍然比以前更大
還有一件事是執行上述命令需要花費大量時間。 我不確定他們是否正常工作
我甚至嘗試將其推送到遠程倉庫,
git push --all --force
但是沒有成功推送,它會一直嘗試直到最后一個突然到來,因為遠程倉庫無法到達或沒有響應那種
我也試過重寫標簽
git filter-branch -f \ --index-filter 'git rm -r --cached --ignore-unmatch node_modules' \ --tag-name-filter 'cat' -- --all
我也嘗試了以下方法來使它工作
git config --global pack.windowMemory 0
git config --global pack.packSizeLimit 0
git config --global pack.threads "3"
但無論我做什么,回購的大小仍然是相同的
注意:我試過了
git fsck --full --unreachable
列出了幾個無法訪問的標記
我在Git中提到了拉錯誤:無法創建臨時sha1文件名 ,僅git gc是不夠的。
應該降低回購規模的一個組合應該是:
git gc
git repack -Ad # kills in-pack garbage
git prune # kills loose garbage
但是,這必須遵循大文件( git filter-branch
)的任何清理,這僅適用於本地存儲庫。
在推送( git push --force
)到遠程倉庫之后,所述遠程倉庫將不會受益於相同的尺寸減少。 還需要在遠程端執行gc / repack / prune。
我很抱歉伙計們! 除了node_module之外,還有另一個主要元凶ntvs_analysis.dat導致了巨大的repo大小。 現在我刪除了它,現在repo大小是75 MB。 甚至我所遵循的步驟也在起作用
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.