Heroku 错误的行长度无法推送一些参考

Heroku bad line length failed to push some refs

我正在尝试通过以下方式将更改上传到 Heroku:

git commit -am "make it better"
git git push heroku master:main

不幸的是,我不断收到此错误:

fatal: protocol error: bad line length 81926.25 MiB/s   
error: failed to push some refs to 'https://git.heroku.com/purgescan.git'

我不明白为什么,因为它似乎写了 4 GB 的对象,我不确定为什么。我无法进行任何更改,而且我所做的似乎都无法解决此问题。

我尝试提交一个 7 GB 的文件(以训练我的机器学习模型),但失败了。但出于某种原因,我认为 Heroku 认为我确实提交了文件或其他内容,但我无能为力,因为它不会让我提交更改。

我做了 git add <<7GB NLP training file>>,然后我做了 git commitgit push

I tried to commit a 7 GB file (to train my machine learning model), but it failed. But for some reason I think Heroku thinks I did commit the file or something, but I can't do anything about since It won't let me commit changes.

承诺和推动是不同的事情。您的 push 失败了,但这并不意味着提交失败。这并不是说“Heroku 认为”您提交了文件;您实际上提交了文件。

您的存储库几乎肯定不应该包含 7GB 的数据文件。我建议你删除它。您必须实际删除整个提交,否则它仍会保留在您的存储库的历史记录中并影响其大小。

假设您需要删除的提交是您分支上的最后一个提交(确保查看您的日志和图表),您应该能够执行如下操作:

  1. 首先,丢弃当前分支上的最新提交:

     git reset --hard HEAD~
    
  2. 然后,将该更改推送到 Heroku(假设您的遥控器名为 heroku):

     git push --force-with-lease heroku
    

如果您希望该文件仍位于您的工作目录中,您可能希望将其添加到您的 .gitignore 文件中。