Минимизировать файлы CSS с помощью git hook

Моей идеальной ситуацией является автоматическое минитирование файлов CSS и их добавление в фиксацию git. Я не уверен, может ли быть # 4 ниже, но я хотел бы выполнить следующий поток:

  • Изменить файл CSS
  • Добавить в промежуточную область
  • Фиксировать
  • Запустите script, который обновляет мини файлы и добавляет их в commit
  • Commit завершает

Если есть другой способ, я бы тоже этого интересовался.

Ответ 1

Нужно ли вам другое дело, но вы можете.

в .git/hooks/, напишите script на выбранном вами языке (убедитесь, что он исполняемый файл) с именем pre-commit в script запустите команду minifier и сделайте git add '

вот пример того, кто таким образом минимизирует javascript: https://gist.github.com/786460

Тест-крючок Я написал:

#/bin/sh

tr "aeiou" "AEIOU" < test1.css > test1_diff.css
git add test1_diff.css

после запуска commit, test1_diff.css находился в рабочем каталоге и в git отслеживался.

Ответ 2

Назовите smudge/clean script и пометьте ваши файлы css атрибутом фильтра. Хитрость заключается в том, чтобы выполнить работу над ветвью, которая не имеет атрибута и развертывается из той, которая делает. Это легко настроить, если вы сначала объединились с ветвью развертывания с нашей стратегией слияния. Это гарантирует, что последующие слияния не распространяют атрибут.

Это должно делать то, что вы хотите.

Ответ 3

Вы использовали бы "pre-commit hook", который вызывается до/в качестве фактического фиксации. Google it - в основном это связано с помещением файла pre-commit script в вашу папку .git.