2017-01-09 161 views
0

我在Cloud9中拥有自己的开发环境,并使用git推送到Heroku。
我希望Heroku环境中的某些文件夹不会被deploy命令删除。
所以我在我的.gitignore文件

Git不要推/删除空文件夹

folder/to-ignore1 
folder/to-ignore2 

添加这些行......等等

然后我就可以在Heroku上创建至今这些文件夹中的内容,没有问题。
但是,当我尝试再次同步我的开发文件,git似乎删除这些文件夹及其内容。
我已经tryied每一个变化,就像

/folder/to-ignore1/ 
folder/to-ignore1/ 
/folder/to-ignore1 
folder/to-ignore1 
/folder/to-ignore1/* 
folder/to-ignore1/* 

但似乎没有任何工作。每次部署我都会丢失这些文件。我也执行了
git rm -r --cached 'files/folders'
命令。

回答

1

Git本身不应该删除未跟踪的文件夹。

它只做所以如果有执行git clean -fd,如本heroku Rakefile

CLOUD9名单的Heroku在其“Deploying via the Command Line”,指的是Heroku documentation。在部署过程中检查是否有任何其他命令(如某些post-receive挂钩)执行,这可能会解释对远程工作空间执行的“清理”。

+0

对不起,我不明白。 我应该怎么做才能让它停止? 因为我知道它不应该这样做,但我需要它停下来。 –

+0

我的部署过程由这三个命令完成: git add。 git commit -am“commit-name” git push heroku master –

+0

我已经使用命令git status --ignored来查看我的文件夹是否被忽略,它们的确是。 –

0

这里是Heroku的工作人员告诉我:

(报价)

这是值得铭记的是,Heroku的文件系统是短暂的 - 这意味着到文件系统,而到了极致的任何改变仅在运行最后直到该测功机关闭或重新启动。每个dyno以最近部署的文件系统的干净副本进行引导。

当您重新启动应用程序时,文件系统的任何更改都将丢失,因为将引导新的dynos。我们建议使用数据库插件(例如Postgres(用于数据))或专用文件存储服务(如AWS S3(用于静态文件))来代替将文件系统用于持久性存储。如果你不希望建立一个帐户与AWS创建一个S3桶,我们这里也有插件,可能适合的关注帅哥你的需求https://elements.heroku.com/addons

(完报价)

感谢。