Я использовал этот "учебник" для настройки среды DSP: http://toroid.org/ams/git-website-howto (Да, у меня нет T).
Мой рабочий процесс очень прост:
- Разработка локально (D)
- Сделайте несколько вещей
- Сделать больше вещей
- Push to Staging (и Github) (S)
- Проверить новый код на этапе
- Push to Production (P)
В моем коде содержатся файлы CSS, которые были уменьшены моим кодом, а затем сохранены в 1 файл: all.css
. Локально, я отключил этот параметр, поэтому мне не нужно вручную удалять all.css
все время, когда я меняю свой CSS. В разделе "Создание и производство" они должны кэшировать как можно скорее (поэтому создайте all.css
из отдельных файлов CSS).
Проблема возникает каждый раз, когда я нажимаю, мне нужно удалить all.css
(и all.js
- такую же точную историю), чтобы увидеть изменения (и правильно протестировать).
В учебнике я сделал крючок post-receive
, который проверяет изменения в определенной папке (где Apache читает код).
Мой текущий post-receive
hook:
#!/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 -f
fatal: эта операция должна выполняться в дереве работ
GIT_WORK_TREE=/var/www/www.example.org
cd $GIT_WORK_TREE
git checkout -f
фатальный: не в репозитории git (или любой.....)
Я думаю, что моя проблема в том, как работает Bash, как с git works =)