2014-06-11 40 views
1

我面臨着一個很奇怪的問題,我從來沒有面對過去。.git文件夾非常龐大實現以後

我搬到大量的圖片和PDF等文件到我的項目git倉庫庫規模增加至290 MB

後來實現移動所有這些東西到Amazon S3的服務器,並刪除它們從回購,因爲我不需要保留版本。

現在我的代碼庫大小減少到8 MB。我通過做新的提交繼續我的代碼庫工作。

我最近想把它們移到新的服務器上。我現在意識到,當我的新克隆超過230 MB時,我的存儲庫的大小。

克隆後如果我檢查.git文件夾,它的大小是200 MB。

這清楚地表明,我將這些圖像早已刪除並致力於回購,但它仍然存在於歷史中。

我該如何解決這個問題。

問題是如何從git存儲庫中刪除我們不需要的東西。 與我的情況一樣,在刪除這些二進制文件後,我已經對代碼庫做了很多更改,但仍然存在於歷史中。

可能是我可能會做

git rm *.something && 
git rm --cached filenames 

但我只是手動從回購刪除它們並沒有一個git的承諾,並被推到遠程倉庫這是一個大錯我怎樣才能解決這個奇怪的問題? 。

有沒有辦法讓我能減少我提前git的文件夾的大小

請建議,

感謝

+0

可能的重複[完全從Git倉庫中刪除文件和GitHub上的遠程文件](http://stackoverflow.com/questions/5563564/completely-remove-files-from-git-repo-and-remote-on-github ) – reto

+0

@reto但我的問題是.gitfolder的大小 –

+0

@reto我現在可以如何刪除它們 –

回答

3

這爲我工作

git filter-branch --index-filter "git rm -rf --cached --ignore-unmatch folder/" HEAD 

清理我的本地回購緩存

rm -rf .git/refs/original/ && git reflog expire --all && git gc --aggressive --prune 

做當地的分公司將分叉後。如果您運行git狀態,則表明您在原點後面停留。

所以只需要一個git pull從遠程合併,並推動回購大小減少。

參考: -

Clear historical files/folders from git repository

的SO發佈

Completely remove files from Git repo and remote on GitHub

幫助我得到這個環節,問題的標題誤導-ED我在開始的時候所以我因爲這種情況很少具體,並可能幫助其他面臨同樣問題的人解決問題。

0

用途:

git gc --agressive 

要清理舊回收站中的文件。

+0

我這樣做,但仍然大小是相同的,它不清除它 –

+0

這只是清理本地緩存不會刪除回購的文件 –

相關問題