4

所以我注意到我的 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 上,因此旧文件/版本是多余的(除非我遗漏了什么?)。

4

0 回答 0