所以我注意到我的 Heroku slug 尺寸很大(100mb),并决定检查我的 Rails 项目结构,看看是什么导致了巨大的尺寸。
当我检查项目文件夹时,它说它的大小约为 100mb。但是,在检查了所有(第一级)子文件和文件夹后,我看不到任何罪魁祸首(我的日志每天都会被删除)。
我尝试删除全部内容(代码当然在 github 上!)但是当我检查文件夹时,它仍然说磁盘上有 99.9mb - 很奇怪。
我 sudo 进入终端中的文件夹并运行 ls -al 以查看是否有任何隐藏文件或文件夹,但只得到以下内容:
-rw-r--r-- 1 <name> staff 15364 15 Apr 16:03 .DS_Store
drwxr-xr-x 3 <name> staff 102 17 Apr 2012 .bundle
drwxr-xr-x 18 <name> staff 612 15 Apr 15:18 .git
-rw-r--r-- 1 <name> staff 487 4 Apr 10:21 .gitignore
我认为那里没有什么不寻常的。
有没有人遇到过类似的情况并可以提出解决方案?
更新
所以看起来 .git 文件夹中的 .pack 文件似乎是这里的问题。我做了一些搜索然后跑了
git filter-branch --index-filter 'git rm -r --cached --ignore-unmatch unwanted_folder' --prune-empty
和
git gc --aggressive --prune
它删除了除一个包文件之外的所有文件。令我困惑的是为什么当所有代码和资产都达到 25mb 时,剩余的包文件是 75mb?我猜它会保留自 repo 初始化以来在本地所做的更改的历史记录或什么?如果是这样,我该如何清除这些?无论如何,我将所有更改都存储在 github 上,因此旧文件/版本是多余的(除非我遗漏了什么?)。