我对git有点新意。此外,这是我的第一个项目,我正在自动化部署过程。到目前为止,能够做git push dev
并上传文件,复制配置文件等是幸福的。
现在我想在推送到我的开发服务器时缩小JS / CSS文件。我正在考虑在服务器上安装一些命令行工具,用于缩小某个文件夹上的每个js / css文件,压缩并保存在post-receive git hook上。
这是一个好方法吗? (因为我已经阅读过将压缩文件添加到repo以及其他我不太相信的想法)
如果是这样,哪种工具最适合这项任务?
答案 0 :(得分:2)
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
它接近你想要的吗?
答案 1 :(得分:0)
通过重写dev上的文件并且没有本地仓库中的缩小文件,这两个存储库将始终彼此不同步。
您可能想重新考虑将站点部署到dev的方式,而不是推送到dev,例如,您可能希望从prestine存储库中获取dev。
答案 2 :(得分:0)
也许你正在寻找添加一个post-checkout钩子(或者根据你的部署系统,它可能是另一个钩子),然后启动那个将缩小文件的脚本。
在执行此操作之前,您还可以使用挂钩检查相关文件的修改日期