我用这个'教程'来建立一个DSP环境:http://toroid.org/ams/git-website-howto(是的,我没有T).
我的工作流程非常简单:
我的代码包含由我的代码缩小的CSS文件,然后保存到1个文件中:all.css.在本地,我已关闭该选项,因此all.css每次更改CSS时我都不必手动删除.在Staging和Production上,他们应该尽快缓存(因此all.css从单独的CSS文件创建).
问题是每次我推,我必须删除all.css(和all.js- 相同的故事)看到更改(并正确测试).
从教程中我做了一个post-receive钩子,将更改检出到某个文件夹(Apache读取代码).
我目前的post-receive钩子:
#!/bin/sh
GIT_WORK_TREE=/var/www/www.example.org git checkout -f
我想重用$GIT_WORK_TREE去除$GIT_WORK_TREE(正在www/all.css和www/all.js)中的两个文件,但我不能......下一行没有var $ GIT_WORK_TREE.
所以我把它改成了这个,但我不喜欢这样,特别是如果我想在将来做更多的事情:
#!/bin/sh
GIT_WORK_TREE=/var/www/www.example.org git checkout -f
rm /var/www/www.example.org/www/all.css
rm /var/www/www.example.org/www/all.js
$GIT_WORK_TREE 不会像这样重复使用.
我尝试过的东西不起作用:
GIT_WORK_TREE=/var/www/www.example.org git checkout -f
rm $GIT_WORK_TREE/www/all.css
rm $GIT_WORK_TREE/www/all.js
rm:文件不存在等(/www/all.css)(
$GIT_WORK_TREE为空)
GIT_WORK_TREE=/var/www/www.example.org
git checkout …