git push heroku – 停止heroku推送/上传大量文件

在我的工作目录中意外地放了一个非.gitignore排除的相当大的文件我提交了我的更改,推送到github然后做了一个git push heroku到生产。

当我看到它试图将数百MB的数据推送到heroku时,我杀死了这个过程。

我已经完成了一个git rm filename.extension然后是git add . ,一个新的提交和git推送。 但是当我开始使用git push heroku它坚持继续推送这个不可思议的大数据文件。

我如何检查有问题的文件是什么,以及如何让git / heroku忘记它曾经存在,所以git push heroku可以重新开始工作……?

谢谢!

如果您执行了git rm large.file ,则引入git rm large.file的提交仍然在您的repo的历史记录中。

要让git忘记提交,您需要将其从repo的历史记录中删除。 这可以使用git rebase来完成,如这些问题的答案中所述(例如):

  • 如何删除git历史记录中的特定修订版?
  • 如何在保持更改的同时从Git存储库中删除选定的提交日志条目?

从历史记录中删除提交后,你可以git push -f github然后git push -f heroku

请注意 ,如果有人在您上次推送后获取了github repo的状态,那么git push -f可能会导致问题。 有关解释原因,请参阅“程序手册”中的“ 重新定位 的危险”一章。