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