Git不要推送/删除空文件夹

时间:2017-01-09 19:06:51

标签: git heroku gitignore cloud9

我在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'
命令。

2 个答案:

答案 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

(结束语)

感谢您的关注。