2010-12-22 109 views
2

我在我們的服務器上創建了一個新的git倉庫,然後提交所有文件。一旦這些文件被提交,我然後創建一個新的.gitignore文件並提交它。清除GIT中的所有提交?

我做錯了順序的兩個提交,因爲原來的提交增加了約30k文件和.gitignore文件沒有任何影響。如果我可以清除這兩個提交,然後提交.gitignore文件,首先希望它會顯着減少文件的數量並使回購更小。

這可能嗎?我從來沒有推動回購BeanstalkApp(我們託管的git賬戶),所以希望這是可能的。

感謝,

丹尼

回答

6

如果你真的只是創建了回購,那麼我建議你只是重新創建它 - 它可以完全從git中的修訂歷史中刪除文件,但在我的經驗中,它很慢。

1

你可以申請一個新的提交其刪除不需要的文件。從那時起,根據.gitignore文件它們將被忽略。

或者,您可以嘗試git rebase -i HEAD~2並簡單地刪除最初的提交。

+2

但是這不會從修訂歷史中刪除文件;因此,當用戶克隆回購時,它們仍將被下載。對於不需要的30k文件,這可能是一個問題。 – 2010-12-22 10:42:04

+0

我期望第二個選項,您交互地刪除提交,從修訂歷史記錄中刪除文件。當您執行'git gc'時,懸掛提交將被垃圾收集,因此不會佔用任何空間或帶寬。這不是它的工作原理嗎? – 2010-12-22 10:45:36