2012-07-09 178 views

回答

8

聽起來就像你創建了一個新的提交你刪除文件的地方。這意味着該文件仍然存在於以前的提交中。

你需要做的是改寫歷史。假設兩個最新提交的刪除和添加該文件,你可以做到以下幾點:

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用你想要刪除的文件的名字。在此之後,您還需要執行強制推送。