徹底刪除git 檔案/資料夾
阿新 • • 發佈:2018-11-05
前兩天不小心上傳了一個大的資料夾,幾百兆左右,後來發現沒有必要放到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