Добавление git add в плагин githooks для Grunt

В настоящее время я работаю над реализацией хука предварительной фиксации с помощью хрюков grunt git. Я новичок в использовании этого плагина, и немного неясно, могу ли я использовать этот плагин для того, что я изначально намеревался сделать.

В настоящее время у меня есть две задачи grunt, запускаемые для каждой фиксации git, как показано ниже.

    githooks: {
        all: {
            'pre-commit' : 'compass requirejs'
        }
    }

Выше генерируется хук git pre-commit, как показано ниже.

#!/usr/bin/env node

// GRUNT-GITHOOKS START
var exec = require('child_process').exec;

exec('grunt compass requirejs', {
       cwd: 'C:\\development\\Sourcecode\\qnb-home'
     }, function (err, stdout, stderr) {

  console.log(stdout);

  var exitCode = 0;
  if (err) {
    console.log(stderr);
    exitCode = -1;
  }

  process.exit(exitCode);
});

// GRUNT-GITHOOKS END

Несмотря на то, что описанное выше гарантирует, что задачи выполняются до коммита git, он не добавляет вновь созданные мини-файлы (скомпилированные файлы SASS и r.js) в существующий коммит.

Итак, я хотел бы добавить git add --all к хуку предварительной фиксации, используя grunt githooks. Возможно ли это сделать? Любой комментарий/ответ будет высоко оценен.


person Chin    schedule 05.06.2014    source источник
comment
Я был бы очень признателен, если бы кто-то дал ответ или комментарий, указывающий, что не так с вопросом, а не голосование за действительный вопрос ради него.   -  person Chin    schedule 05.06.2014


Ответы (1)


Вы можете использовать опцию template grunt-gitook для создания пользовательского шаблона, который будет выполнять git add --все команды. Эта статья о начале работы представляет собой хороший пример того, как создать пользовательский шаблон.

Тем не менее, запуск git add -all перед каждой фиксацией сделает выбор файлов для фиксации намного более трудоемким, чем обычно. Вам нужно будет спрятать изменения, которые вы не хотите включать в коммит, прежде чем вы это сделаете, а затем удалить их. Возможно, стоит быть немного более целенаправленным в том, что вы добавляете, если вам вообще нужно добавить эти файлы в репозиторий. В конце концов, они могут быть сгенерированы из источников.

person Rhumaric    schedule 05.06.2014
comment
Спасибо @Румарик. Очень ценю вашу помощь, я разберусь с этим. :) - person Chin; 06.06.2014