2013-05-04 157 views
1

我試圖從我的存儲庫中刪除一些巨大的100MB二進制文件。 我跟着這些指示,這裏詳細:git - 無法從存儲庫中永久刪除文件

http://stevelorek.com/how-to-shrink-a-git-repository.html

的說明是基於命令:

git filter-branch --tag-name-filter cat --index-filter 'git rm -r --cached --ignore-unmatch filename' --prune-empty -f -- --all 

當我再次運行腳本,後據稱刪除文件,這確實是不見了。 但是,當我再次克隆存儲庫時,在推送更改後,文件又回來了。

如何在刪除大文件後應用更改?

git push origin --force --all 

根本不會削減它。

編輯:該文件已被刪除2年前,所以沒有什麼提交/刪除。 我試圖用一些文件添加創建一個虛擬提交,仍然沒有去。

+0

爲什麼'git push origin --force --all'「將其切斷」? *是*你如何「應用更改」。 – zwol 2013-05-04 16:43:40

+2

我的猜測是你的遙控器上還有標籤,它仍然在其歷史記錄中引用了該文件的提交。 – 2013-05-04 16:44:04

+0

刪除文件後你提交了嗎?推只上傳什麼是提交 – vguzmanp 2013-05-04 16:44:33

回答

0

我最終將本地乾淨的存儲庫轉換爲裸存儲庫mentioned here,並用它替換舊的裸存儲庫。

仍然不知道爲什麼我無法將更改應用到中央存儲庫。

0

您可以使用BGF來進行此類清理。

只要推進新的已清理的提交,只要舊的提交仍然可到達,就不會清理其他存儲庫。

相關問題