2017-01-09 128 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

(完報價)

感謝。