【发布时间】:2014-07-20 21:40:40
【问题描述】:
我正在用 PHP + HTML + CSS + JS 构建一个应用程序。这是设置:
- 我的 PHP 框架依赖 Composer 来设置/更新
- 我使用的是 SCSS,所以我有一个用于 scss 的文件夹,该文件夹被编译到 css 文件夹中
- 我正在通过 Grunt 自动编译(和其他东西)
- 我正在使用 Git 跟踪所有内容
当我部署到登台/生产时,我从在线 Git 存储库中 git clone(或 git pull)所需的分支(开发或主)。
我过去使用 Git 跟踪几乎所有内容,包括编译的 CSS 和安装的 PHP 模块(通过 Composer),因此很容易部署:我只需要从在线 repo 中提取所有内容即可。
但我觉得在 Git 中跟踪所有这些东西并不好,因为我认为我应该只跟踪源文件(CSS 为 SCSS,PHP 模块为 composer.json/composer.lock)。
现在我的问题是:
- 我不应该跟踪 CSS 编译文件而只跟踪 SCSS 文件是否正确?
- 对于通过 Composer 安装的 PHP 模块也是如此
- 如果我不跟踪所有文件并通过
git pull进行部署,我将需要在所有机器(暂存/生产)上安装 Grunt/Compass/Composer,这对我来说并不合适将它们视为构建工具而不是应用的一部分 - 将 Git 与 Grunt/Compass/Composer(或类似的东西)一起使用进行部署的最佳实践是什么?
任何意见/建议将不胜感激!
【问题讨论】:
标签: git gruntjs composer-php compass-sass web-deployment