簡體   English   中英

永久刪除git repo中不需要的文件夾 - Repo大小不變

[英]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。

如果那個偏遠的一方是TFS ......現在這不容易/可能

我很抱歉伙計們! 除了node_module之外,還有另一個主要元凶ntvs_analysis.dat導致了巨大的repo大小。 現在我刪除了它,現在repo大小是75 MB。 甚至我所遵循的步驟也在起作用

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM