我在Cloud9中拥有自己的开发环境,然后使用git将其推送到Heroku
我希望Heroku环境中的某些文件夹不会被deploy命令删除
所以我已在.gitignore
档案中添加了这些内容
folder/to-ignore1
folder/to-ignore2
......等等
然后我可以在heroku的这些文件夹中创建内容,到目前为止没问题
但是当我再次尝试同步我的开发文件时,git似乎删除了这些文件夹及其内容
我试过每一个变化,比如
/folder/to-ignore1/
folder/to-ignore1/
/folder/to-ignore1
folder/to-ignore1
/folder/to-ignore1/*
folder/to-ignore1/*
但似乎没有任何效果。每次部署我都会丢失这些文件
视频:我也执行了git rm -r --cached 'files/folders'
命令。
答案 0 :(得分:1)
Git本身不应删除未跟踪的文件夹。
只有执行git clean -fd
时才会执行此操作,如此heroku Rakefile
Cloud9将Heroku列在其“Deploying via the Command Line”中,并引用Heroku documentation。在部署过程中检查是否有任何其他命令(如某些post-receive hook)执行,这可能解释了对远程工作区进行的“清理”。
答案 1 :(得分:0)
以下是heroku员工告诉我的事情:
(报价)
值得注意的是,Heroku文件系统是短暂的 - 这意味着在dyno运行时对文件系统的任何更改只会持续到该dyno关闭或重新启动。每个dyno都使用最新部署的文件系统的干净副本进行引导。
当您重新启动应用程序时,对文件系统的任何更改都将丢失,因为将引导新的dynos。我们建议使用数据库插件(如Postgres(用于数据))或专用文件存储服务(如AWS S3(用于静态文件)),而不是使用文件系统进行持久存储。如果您不想在AWS上设置帐户来创建S3存储桶,我们这里也有可能符合您需求的插件https://elements.heroku.com/addons
(结束语)
感谢您的关注。