为什么Git在部署后会覆盖服务器上的文件?
我在heroku上有一个node.js应用程序,它将图像保存在public/productimages文件夹中。但每次我推我的新代码,所有以前的图像都会被删除。我在.gitignore文件中添加了productimages,但没有任何用处。但本地计算机中的public/productimages为空 不允许将文件系统用于Heroku上的永久存储 原因是每次Heroku启动应用程序时,它都会在一个全新的临时目录中启动。每次Heroku关闭应用程序时,它都会删除应用程序以前运行的临时目录。Heroku每晚都这样做,每次你为什么Git在部署后会覆盖服务器上的文件?,git,node.js,heroku,Git,Node.js,Heroku,我在heroku上有一个node.js应用程序,它将图像保存在public/productimages文件夹中。但每次我推我的新代码,所有以前的图像都会被删除。我在.gitignore文件中添加了productimages,但没有任何用处。但本地计算机中的public/productimages为空 不允许将文件系统用于Heroku上的永久存储 原因是每次Heroku启动应用程序时,它都会在一个全新的临时目录中启动。每次Heroku关闭应用程序时,它都会删除应用程序以前运行的临时目录。Herok
git push
,每次你更改配置变量,每次你更改插件,每次你增加或减少dyno的数量,等等
您必须使用外部服务(如PostgreSQL数据库或S3)来存储您可能想要存储的任何内容。云计算的基本前提:存储不是持久的,除非明确这样做
未使用Heroku,但我相信如果您的文件未进行版本控制且无法从您的repo获得,则不会保留这些文件。您为什么要推动?在这种情况下,pull不是更好吗?怀疑他根本不是Git意义上的“推动”,而是使用Heroku的gem来部署。当您运行Git status时,是否显示图像已排队等待删除?评论员,这是Heroku。这不是Git的问题。只需使用
git-push-Heroku-master
@meagar将应用程序部署到Heroku,Heroku
gem不会部署。应用程序部署到heroku时使用的是git push
。Heroku运行一个分布式git
服务器,该服务器带有一个post接收挂钩,用于将应用程序部署到Heroku网格上的多个服务器上。