我正在尝试将我的git存储库推送到heroku服务器,现在我曾经有一个很大的供应商文件夹,但我使用以下命令删除了它:
git rm -r --cached vendor 我在那个阶段没有任何问题,无论如何,在我删除文件,并进行提交和所有事情之后,似乎每当我进行推送时,我仍然使用相同的文件(甚至是我删除的文件),我非常确定它是以某种方式缓存的,所以我应该如何刷新缓存?我尝试了很多东西,比如更新索引,但这很奇怪,因为我现在仍然在推送20MB,而不是2MB。
任何帮助都将不胜感激。
发布于 2012-01-15 00:57:29
如何才能完全删除文件夹,就像从历史记录和所有内容中删除一样?
这就是git filter-branch可能派上用场的地方。下面的代码应该可以解决这个问题。
$ git filter-branch --index-filter 'git rm --cached --ignore-unmatch vendor' --prune-empty -- --all注意:在使用git filter-branch之前,请确保制作项目的本地副本,特别是当您尝试回收一些空间时(在下面的链接参考中有更多关于这方面的信息)。
一旦你的历史记录被清理干净,下面的代码将用重写后的库替换你的上游库。
$ git push origin --all --force我强烈建议您在运行任何命令之前阅读下面的链接。真的:)
参考
https://stackoverflow.com/questions/8859577
复制相似问题