![](/img/trans.png)
[英]How can I reduce the size of my repository without losing any history of source code files?
[英]How can I reduce the size of my repository?
我有大git存儲庫。 dotgit文件夾的大小非常大。(350gb - 我們的3D建模者的ty :))我在硬盤上有240gb的可用空間。 當我試圖運行此命令時:
git gc --prune=now --aggressive
我收到一些錯誤:
can't allocate memory...lalala
我該怎么辦? 我應該去git服務器並在那里運行這個命令嗎?
隨着時間的推移,存儲庫可能已經提交了大量大文件。 砍掉你的歷史並沒有多大幫助,隨着更多大文件被添加和處理,問題就會回來,你將失去你工作的歷史。
不要直接提交大文件,而是使用Git Large File Storage(git-lfs) 。 這將允許您提交大型文件並保留歷史記錄,而不會膨脹存儲庫大小。
那些舊的提交怎么樣? 您可以使用BFG Repo Cleaner清除歷史記錄中的大型文件,而不僅僅是在任意日期切斷歷史記錄。 這樣您就可以保留歷史記錄,同時只刪除最大的違規文件。
更好的是你可以將兩者結合起來! BFG可以將您現有的大文件提交轉換為最近添加的--convert-to-git-lfs
小型git-lfs提交。 這篇文章都記錄在這篇博文中 。 這是兩全其美的:您保留所有歷史記錄,所有文件,並獲得精簡的存儲庫。 完成后,將git-lfs
用於所有未來的大文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.