Я поискал дубликаты, и хотя у некоторых из них есть похожие названия, я не нашел никого, у кого была бы такая же проблема, как у меня, так что приступим.
Я написал сценарий, который запускается на pre-commit
и использует вывод git status --porcelain
для компиляции любого файла LESS в моем проекте, который был изменен. Эта часть работает нормально. Но я хочу, чтобы файлы .css были включены в текущий коммит. Так что в дополнение к запуску компилятора мой сценарий запускает git add <filename>
. И здесь все становится непросто.
Файл добавлен в индекс, но это не индекс текущей фиксации. Поэтому, если я изменяю style.less
и запускаю git commit -a
(или вручную git add style.less
), компилятор должен сгенерировать style.css
и style.min.css
и добавить их в текущую фиксацию. Но я заметил, что фиксируется только style.less
, несмотря на то, что два .css
файла добавляются в индекс для следующей фиксации.
Итак, мой вопрос: есть ли способ добавить файлы в фиксацию в ловушке перед фиксацией, чтобы они вступили в силу для этой фиксации? Обратите внимание, что до запуска ловушки предварительной фиксации эти два файла .css
не изменяются, поэтому я не могу просто добавить их перед этим. Я также знаю, что могу выйти из ловушки с ненулевым статусом, поэтому фиксация отменяется, но файлы добавляются, но я надеюсь этого избежать. Есть идеи получше?