git hooks - восстановить файл и добавить его в каждый коммит? - PullRequest
4 голосов
/ 26 декабря 2010

Я бы хотел автоматически сгенерировать файл и добавить его в коммит, если он изменился.Возможно ли, если да, какие хуки мне следует использовать?

Контекст: я программирую библиотеку CSS.В нем несколько CSS-файлов, и в конце я хочу создать сжатую и свернутую версию.Прямо сейчас мой рабочий процесс:

  1. Изменить файлы CSS x.css и y.css
  2. git add x.css y.css
  3. Выполнить minimize.sh, который анализирует все CSSфайлы в моей библиотеке, минимизирует их и создает min.css файл
  4. git add min.css
  5. git commit -m 'modified x and y doing foo and bar'

Я хотел бы иметь шаги 3 и 4делается автоматически через git hook.Это возможно?

Я никогда раньше не использовал git hooks.Прочитав справочную страницу , я думаю, что мне нужно использовать хук pre-commit.Но я могу вызвать git add min.css, или я сломаю Интернет?

РЕДАКТИРОВАТЬ: Это сработало!И я не создал черную дыру или что-то еще!

Вот код моего файла .git / hooks / pre-commit:

#!/bin/sh
exec minimize.sh
exec git add oocss.min.css

В документации не упоминалось, что япришлось сделать его исполняемым, иначе он не будет работать.

Если вас интересует, как я минимизировал, я использовал соковыжималка - команда минимизации:

exec juicer merge --force my-uncompressed-file.css

1 Ответ

5 голосов
/ 26 декабря 2010

Нет, это ничего не сломает.Вы можете свободно использовать git add в pre-commit крючке.

...