Git 不要 push/delete 空文件夹

Git not to push/delete empty folder

我在 Cloud9 中有我的开发环境,我使用 git 推送到 Heroku。
我希望 Heroku 环境中的一些文件夹不会被部署命令删除。
所以我在我的 .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'
命令。

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

它只有在 git clean -fd executed, as in this heroku Rakefile

Cloud9 在其“Deploying via the Command Line" and refers to the Heroku documentation 中列出 Heroku。在部署过程中检查是否执行了任何其他命令(如某些 post-receive 挂钩),这可能解释 "cleanup"对您的远程工作区完成。

以下是 heroku 工作人员告诉我的内容:

(引用)

值得注意的是,Heroku 文件系统是短暂的——这意味着在 dyno 运行 期间对文件系统的任何更改只会持续到该 dyno 关闭或重新启动。每个 dyno 都使用最近部署的文件系统的干净副本启动。

当您重新启动应用程序时,对文件系统的任何更改都将丢失,因为将启动新的测功机。我们建议使用 Postgres(用于数据)等数据库插件或 AWS S3(用于静态文件)等专用文件存储服务,而不是使用文件系统进行持久存储。如果您不想在 AWS 上设置帐户来创建 S3 存储桶,我们这里也有可能满足您需求的插件 https://elements.heroku.com/addons

(引用结束)

感谢各位大侠的关注