2014-09-03 112 views
0

我試圖刪除屬於舊提交的github repo中的文件,特別是自回購庫創建以來的第二個文件。然後有人試圖修復它,並刪除它的工作區中的文件,並推動改變...在舊提交中刪除文件

這是一個500 MB的rar文件,有人認爲這是一個好主意推在2012年,現在我們需要擺脫它。

我已經試過

但是,任何這些爲我工作。它似乎是一個持有它的.pack文件。

問題是:我真的可以刪除文件嗎?否則,是否有任何選項可以設置新的回購而不會丟失提交歷史記錄?

在此先感謝。

+0

請詳細說明您爲什麼認爲它不起作用,以幫助您... – CharlesB 2014-09-03 13:26:36

+0

該文件是* every * commit的一部分,它是添加文件的後代。要完全清除文件,您需要將它從所有提交中的* all *中刪除。 – chepner 2014-09-03 13:29:07

+0

你需要看看['git filter-branch'](http://git-scm.com/docs/git-filter-branch#_examples)。鏈接中提供的第二個例子就是你想要的。你也可以看看GitHub的例子:https://help.github.com/articles/remove-sensitive-data。它還提到使用BFG來幫助完成這項工作,這對您來說可能更容易完成。預先警告,這會重寫你的歷史。沒有辦法繞過這個從存儲庫中完全刪除文件。 – jszakmeister 2014-09-03 14:06:26

回答

0

由於jszakmeister在評論中提到,該解決方案位於github中的敏感數據幫助文章中。它建議使用BFG Repo-Cleaner來解決這個問題。

我使用jar來刪除所有大於10M的文件,如BFG主頁所述。

謝謝!