1. 程式人生 > >徹底刪除git 檔案/資料夾

徹底刪除git 檔案/資料夾

前兩天不小心上傳了一個大的資料夾,幾百兆左右,後來發現沒有必要放到git 上,然後再本地刪除後重新提交了一版,但是後來發現 重新clone的source檔案大小依然是幾百兆,跟原來沒有變化。。。

後才經過查閱資料才知道,原來檔案一直存在於git倉庫中,便於你的恢復,,,,普通的刪除並不能真的將檔案從倉庫中移除。。

想要徹底的刪除檔案或資料夾需要使用以下命令:

$ git filter-branch --force --index-filter 'git rm --cached -r --ignore-unmatch app' --prune-empty --tag-name-filter cat -- --all

$ git for-each-ref --format='delete %(refname)' refs/original | git update-ref --stdin
$ git reflog expire --expire=now --all
$ git gc --prune=now
上面的app是一個資料夾,如果是檔案 將命令中的 -r 去掉就可以

使用下面命令 檢視專案大小:

$ du -hs

最後推送到遠端的分支上:

$ git push --force --verbose --dry-run
$ git push --force