Heroku Git仓库大小

5
在我开发应用程序的后期阶段,我已经将其git push到heroku,因此那里的存储库相当大。在网站上线之前,我希望在这个阶段从存储库中删除所有旧版本,因为这似乎是明智的管理。有什么最好的方法可以做到这一点,以便我的在线应用程序不会中断?
2个回答

11

针对Heroku来说,其实没有必要这样做,因为你在push代码时,应用程序会被编译成一个slug以便快速部署,其中的一步就是完全删除git仓库。

但如果您真的想这样做,我建议只需从项目中删除.git/目录,并使用git init开始一个新的仓库。

Heroku像其他任何可以push到的git远程仓库一样,因此对于普通的git远程仓库可以进行的任何操作,你都可以对你的Heroku git远程仓库进行操作。所以,如果你将一个空的新仓库推送到它,那肯定可以解决你的问题。


你好tfe,感谢您的回复。我的经验告诉我这样做行不通,我会收到一个非快进拒绝消息。至于是否值得这样做,我曾认为heroku仓库有最大限制大小 - 尽管现在找不到这样的信息 - 我想我总会在某个时候达到极限,因此现在清理是个好时机。此外,我的备份策略包括定期将项目发送到邮件帐户,而仓库使这个过程更加冗长。 - mark
1
你可以通过使用 push -f 命令来解决非快进式推送的问题。你只需要执行一次,之后的推送就会变成正常的了。不过我认为删除 .git 文件夹并重新创建一个新的仓库是丢弃现有历史记录的最佳方式。 - tfe
这使我能够推送一个新初始化的仓库,但它将我的仓库与Heroku的合并,大小与之前相同。 - mark
嗨,Joost。虽然我也曾考虑过这个想法,但我宁愿不必重新设置一切并避免任何停机时间。 - mark
Heroku的操作方式与其他git远程库一样,因此我不知道为什么创建一个新的空仓库并强制推送它不起作用。 - tfe
显示剩余2条评论

2

使用gitignore来忽略你实际上不需要的内容,并确保所有图像等都在S3上,保持你的slug尽可能小是第一个问题。 Heroku将在上传时重新启动你的应用程序,因此无法避免停机问题(如果我对停机问题有误,请纠正我),我已经有一段时间没使用Heroku了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接