以前,我從git倉庫中刪除了數千個.pdf文件。但問題是,即使我刪除了這些文件,它們仍然存在於先前的修訂版中,以便我仍然可以通過訪問歷史記錄來恢復它們。現在我得到非常大的包文件,這是非常令人沮喪的。從以前的git修改版中徹底刪除數千個.pdf文件?
現在我想要從git的所有修訂中徹底刪除所有這些.pdf文件,並且我不想讓它們回到永遠以減少我的回購的大小。我怎樣才能做到這一點?所有的.pdf文件都在提交中被刪除。
我在谷歌搜索,發現git filter-branch
可能解決我的問題。但我發現的所有解決方案都是在git revisons中找到非常大的文件,並將其從回購庫中徹底刪除。我想要的是完全刪除成千上萬的佔用磁盤空間的.pdf文件。
任何幫助,高度讚賞。謝謝。
無論是移除一個大文件,多個大文件,多個小文件等,原理都是一樣的。 filter-branch命令提取現有提交,應用過濾器,並在結果中創建新提交,然後調整分支標籤(如果使用標記過濾器,則爲標記)以指向新提交而不是舊提交。其中最棘手的部分是編寫過濾器:如果文件都在一個已知的地方(如果只有一個大文件,那真的很容易),這會更容易。 – torek
@torek不幸的是,這些文件分佈在很多目錄中。但我想知道是否可以使用正則表達式在'git filter-branch'命令中編寫pdf文件。 –