Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么Git在部署后会覆盖服务器上的文件?_Git_Node.js_Heroku - Fatal编程技术网

为什么Git在部署后会覆盖服务器上的文件?

为什么Git在部署后会覆盖服务器上的文件?,git,node.js,heroku,Git,Node.js,Heroku,我在heroku上有一个node.js应用程序,它将图像保存在public/productimages文件夹中。但每次我推我的新代码,所有以前的图像都会被删除。我在.gitignore文件中添加了productimages,但没有任何用处。但本地计算机中的public/productimages为空 不允许将文件系统用于Heroku上的永久存储 原因是每次Heroku启动应用程序时,它都会在一个全新的临时目录中启动。每次Heroku关闭应用程序时,它都会删除应用程序以前运行的临时目录。Herok

我在heroku上有一个node.js应用程序,它将图像保存在public/productimages文件夹中。但每次我推我的新代码,所有以前的图像都会被删除。我在.gitignore文件中添加了productimages,但没有任何用处。但本地计算机中的public/productimages为空

不允许将文件系统用于Heroku上的永久存储

原因是每次Heroku启动应用程序时,它都会在一个全新的临时目录中启动。每次Heroku关闭应用程序时,它都会删除应用程序以前运行的临时目录。Heroku每晚都这样做,每次你
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网格上的多个服务器上。