2011-03-01 40 views
6

我們有幾個工作在Android項目上的git倉庫。我們有'引導'回購這是很小,'機器人'是巨大的。在開發過程中,我們的一個人推動了從'android'到'boot'的分支,現在引導存儲庫大小爲700 MB!無論如何,現在完全刪除錯誤的分支和所有與「boot」相關的提交?如何刪除所有提交推送到錯誤存儲庫的分支?

我試圖過濾分支等方法,但大多更改承諾是錯誤的推

理論上,這不應該是一個問題,刪除提交那些「就在身邊」後提出的數字。這個分支從來沒有合併「主」和這些承諾都沒有父母任何有用的承諾

回答

5

刪除分支由

git branch -D branch_name 

注資本-D選項來完成的:這告訴GIT中甚至刪除分支如果它沒有完全合併到主。

做完之後,用git gc啓動垃圾收集器。那麼,你應該沒問題。

+2

分支本身只是提交的名稱。 (磁盤上有40個字節)並刪除分支不能解決問題。由不正確推送創建的對象仍然通過大量提交到存儲庫的提交在存儲庫中引用,因此GC不會幫助 – mishmashru 2011-03-06 17:06:15

+2

這不是原始問題的答案。原始提交的數據仍然存在。 – kazanaki 2015-04-24 09:46:35

11

從遠程服務器上刪除一個分支完成使用git push

git push --delete boot branchname 

之後每個人都可以在自己的本地回購運行以下命令來刪除已刪除的分支。

git remote prune boot 

的分支,雖然刪除後,該數據仍然會默認縈繞在每一個倉庫2-4周的一項措施,以防止數據的意外丟失。如果磁盤空間問題對您來說真的很重要,那麼可以儘早將其刪除,但請注意,這將刪除所有暫時保留的不可訪問的對象,以防止意外的數據丟失。

git gc --aggressive --prune=now 
相關問題