我对 git 有点陌生。此外,这是我的第一个项目,我正在自动化部署过程。到目前为止,能够git push dev
上传文件、复制配置文件等已经很幸福了。
现在我想在推送到我的开发服务器时缩小 JS/CSS 文件。我正在考虑在服务器上安装一些命令行工具,用于在接收后的 git 挂钩上压缩和保存某个文件夹上的每个 js/css 文件、压缩和保存。
这是一个好方法吗?(因为我读过关于将压缩文件添加到 repo 和其他我不太相信的想法)
如果是这样,哪些工具最适合这项任务?
我对 git 有点陌生。此外,这是我的第一个项目,我正在自动化部署过程。到目前为止,能够git push dev
上传文件、复制配置文件等已经很幸福了。
现在我想在推送到我的开发服务器时缩小 JS/CSS 文件。我正在考虑在服务器上安装一些命令行工具,用于在接收后的 git 挂钩上压缩和保存某个文件夹上的每个 js/css 文件、压缩和保存。
这是一个好方法吗?(因为我读过关于将压缩文件添加到 repo 和其他我不太相信的想法)
如果是这样,哪些工具最适合这项任务?
http://git-scm.com/book/ch7-2.html
我假设您永远不会在服务器上进行提交,即服务器将仅用于检出更新的主服务器并且永远不会更新它。这个技巧将在结帐时自动缩小任何 *.css 文件:
# within repo
$ echo '*.css filter=minify' >> .git/info/attributes
$ git config filter.minify.clean cat
$ git config filter.minify.smudge minify-command
minify-command 应该是缩小 *.css 文件的命令,即
$ cat foo.css | minify-command > foo-minified.css
它接近你想要的吗?
也许您正在寻找添加结帐后挂钩(或者根据您的部署系统,它可能是另一个挂钩),然后使用将缩小文件的脚本启动。
您还可以在执行此操作之前使用钩子检查相关文件的修改日期
通过在 dev 上重写文件并且在本地存储库中没有缩小文件,这两个存储库将始终彼此不同步。
您可能想要重新考虑将站点部署到 dev 的方式,而不是推送到 dev,例如,您可能希望从 prestine 存储库中提取 dev。