Сократите CSS-файлы с помощью git hook - PullRequest
10 голосов
/ 17 марта 2011

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

  1. Изменить файл CSS
  2. Добавить в зону подготовки
  3. Commit
  4. Запустить скрипт, который обновляет минимизированные файлы и добавляет их в коммит
  5. Фиксация завершена

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

Ответы [ 3 ]

8 голосов
/ 17 марта 2011

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

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

. Вот пример того, кто минимизирует JavaScript следующим образом: https://gist.github.com/786460

тестовый хук, который я написал:

#/bin/sh

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

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

2 голосов
/ 17 марта 2011

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

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

1 голос
/ 17 марта 2011

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

...