最近我将大量文件添加到本地仓库,并将这些文件推送到其他仓库。在意识到这一点后,我在该主题上进行了一些搜索,并使用git reset完全删除了这些文件。我还做了一些其他优化仓库的事情(git gc,repack)。现在,我的本地仓库副本不到100MB,而不是超过400MB。问题是,我的Heroku网站上的仓库仍然列为400MB,我不确定是否需要做一些事情才能将所有更改反映到远程仓库中?
git gc
是一个操作,它将清除所有松散的对象(例如不再是历史记录一部分的文件块)。当您可以访问远程时,可以直接执行此操作。如果绝对没有办法做到这一点,那么您就必须等待其中一个推送触发 git gc --auto
。这是肯定会发生的,所以除非仓库占用了400MB(例如为托管付费),否则这不是真正的问题。从仓库中提取/拉取/克隆的任何人都只会获取他们需要获取的内容,即100MB。git gc
;我不知道Heroku是否有类似的操作。
git gc
内部调用git repack
,因此通常不需要直接使用git repack
进行打包。 - Cascabel