在我开发应用程序的后期阶段,我已经将其git push到heroku,因此那里的存储库相当大。在网站上线之前,我希望在这个阶段从存储库中删除所有旧版本,因为这似乎是明智的管理。有什么最好的方法可以做到这一点,以便我的在线应用程序不会中断?
针对Heroku来说,其实没有必要这样做,因为你在push代码时,应用程序会被编译成一个slug以便快速部署,其中的一步就是完全删除git仓库。
但如果您真的想这样做,我建议只需从项目中删除.git/
目录,并使用git init
开始一个新的仓库。
Heroku像其他任何可以push到的git远程仓库一样,因此对于普通的git远程仓库可以进行的任何操作,你都可以对你的Heroku git远程仓库进行操作。所以,如果你将一个空的新仓库推送到它,那肯定可以解决你的问题。
使用gitignore来忽略你实际上不需要的内容,并确保所有图像等都在S3上,保持你的slug尽可能小是第一个问题。 Heroku将在上传时重新启动你的应用程序,因此无法避免停机问题(如果我对停机问题有误,请纠正我),我已经有一段时间没使用Heroku了。
push -f
命令来解决非快进式推送的问题。你只需要执行一次,之后的推送就会变成正常的了。不过我认为删除 .git 文件夹并重新创建一个新的仓库是丢弃现有历史记录的最佳方式。 - tfe