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

时间:2012-02-06 17:32:43

标签: ruby-on-rails git heroku github

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

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

我已经做了一个 git rm filename.extension 其次是 git add .,一个新的提交和git推送。但当我到达git push heroku时,它坚持继续推送这个不可能的大数据文件。

我如何查看违规文件是什么,以及如何让git / heroku忘记它曾经存在,所以git push heroku可以重新开始工作......?

谢谢!

1 个答案:

答案 0 :(得分:6)

如果您执行了git rm large.file,则介绍large.file的提交仍然在您的回购历史中。

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

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

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