4
我已經提交併在bitbucket中推送了一個太大的文件,並且我已經在本地刪除了它,提交併再次推送。但在網站bitbucket上,存儲庫的大小仍然過大。如何從git中刪除已刪除的文件?
我已經提交併在bitbucket中推送了一個太大的文件,並且我已經在本地刪除了它,提交併再次推送。但在網站bitbucket上,存儲庫的大小仍然過大。如何從git中刪除已刪除的文件?
聽起來就像你創建了一個新的提交你刪除文件的地方。這意味着該文件仍然存在於以前的提交中。
你需要做的是改寫歷史。假設兩個最新提交的刪除和添加該文件,你可以做到以下幾點:
git reset --hard HEAD~2
git push --force
這將刪除的兩個新的提交,然後用力按壓它到位桶。如果這不利於減少站點,則需要聯繫bitbucket支持,以便他們可以在遠程存儲庫上運行git gc
以實際擺脫已刪除的提交/文件。
如果你只是想刪除指定文件沒有的摧毀整個提交,你可以使用git-filter-branch
作爲explained in the GitHub docs(它不是GH-專用)做到這一點:
git filter-branch --index-filter 'git rm --cached --ignore-unmatch THE_FILE' \
--prune-empty --tag-name-filter cat -- --all
顯然,你需要更換THE_FILE
用你想要刪除的文件的名字。在此之後,您還需要執行強制推送。