在版本控制中跟踪已编译的 CoffeeScript 和 SASS 文件是否有意义?

Does it make sense to track compiled CoffeeScript and SASS files in version control?

我正在构建一个单页 Web 应用程序,并且更喜欢用 CoffeeScript 和 SASS 编写我的源代码。我使用 G运行t 在 运行 时间动态编译我的源代码以在浏览器中测试(使用 g运行t-contrib-watch、livereload 等)。

当我准备好发布我的应用程序时,我 运行 一个 G运行t 构建脚本再次编译源代码、生成文档、修改版本号等等上。我从来没有对我的编译源进行任何更改,因为构建脚本每次都会重新编译(并且显然会覆盖对编译源的任何更改)。

我的问题是:将编译后的源代码检查到版本控制中是否有意义?如果是,那背后的原理是什么?

针对我的场景的更多观察:

  1. 始终将源签入版本控制。
  2. 编译后的源代码可以随时从源代码中重建。
  3. 我有一个单独的 "dist" 目录,其中始终保存已编译和准备部署的应用程序版本 -- 这在版本控制中进行了跟踪。

这类似于从 C 代码库对编译后的二进制文件进行版本控制。

你似乎已经回答了你自己的问题。

如果

The source is always checked into version control.

The compiled source can be rebuilt from the source at any time.

然后 不,你不应该对构建的文件进行版本化

您的持续部署过程应该能够测试您的源并将它们编译成可分发的格式而不会受到干扰。