我正在尝试将我的git repo推送到heroku服务器,现在我曾经有一个大的供应商文件夹,但我使用以下方法将其删除:
git rm -r --cached vendor
我在那个阶段没有问题,无论如何我删除了文件,并做了提交和一切,似乎每当我推动我仍然使用相同的文件(甚至我删除的文件),我'我很确定它以某种方式缓存,所以我应该如何刷新缓存?我尝试了很多东西,比如更新索引,但这很奇怪,因为我现在还在推动20 MB而不是2 MB。
任何帮助都将受到高度赞赏。
答案 0 :(得分:4)
> 我应该如何完全删除文件夹,甚至从历史记录和所有内容中删除?
这是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
我强烈建议您阅读之前的链接运行任何命令。真的:)
<强>参考强>