2014-07-06 36 views
1

我將開始使用grunt-rev & grunt-usemin with grunt-watch來滿足我的web開發需求(特別是一個REST風格的Web應用程序)。使用rev和usemin來設計grunt工作流程,用於webdev

我有一個本地開發機器,它將運行grunt-watch在我的JS文件上附加修訂標識符。我git commitgit push我的樹到一個git倉庫,然後請求生產服務器將git pull從git倉庫中的更改顯示給網站訪問者。

問題是我不希望我的git repo在每次提交時存儲不同的文件名(由於grunt-rev)。這會很糟糕,因爲那樣我就不能在提交之間執行git diff,而不會讓我的屏幕充滿出現和消失的文件內容,而且它可能(有時)會佔用更多的存儲空間只存儲文件的小差異。

我看到的唯一解決方案是在我的.gitignore中添加包含版本化文件名的build目錄,以便不在git中存儲這些文件(不斷變化的文件名)。但是這並不意味着我必須在我的生產服務器上運行grunt-watch,以便生成build目錄以及那裏的版本化文件名?但是這會變得複雜:一個新的進程必須在遠程服務器上運行,也許在處理文件時出現錯誤的可能性很小。不是我希望的解決方案。

你們有另一種解決方案嗎?你會建議我做什麼?

回答

1

我所要解決的問題是在提交和部署新文件之前刪除以前的「構建」文件。沒有必要保留已生成的舊文件,因爲您始終可以使用源文件(位於git中)重建它們。

+0

如果在提交之前刪除'/ build',那麼git倉庫不包含'/ build',那麼生產服務器從哪裏下載'/ build'呢? – alexk

+0

我保持/構建在我的git倉庫中,並在提交之前使用類似這樣的方式清理舊版本:https://github.com/gruntjs/grunt-contrib-clean – pors

+0

你的意思是git倉庫裏有一個空的'/ build '目錄?還是有一個'/ build'只包含新的相關文件,而不是包含未被清理的舊垃圾? – alexk