【问题标题】:Adding git add to Grunt githooks plugin将 git add 添加到 Grunt githooks 插件
【发布时间】:2014-07-26 14:11:32
【问题描述】:

我目前正在使用grunt git hooks 实现预提交挂钩。我是使用这个插件的新手,我还不清楚我是否可以使用这个插件来做我最初打算做的事情。

目前,我为每个 git 提交触发了两个 grunt 任务,如下所示。

    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 文件)添加到现有提交中。

所以,我想使用 grunt githooks 将 git add --all 添加到预提交挂钩。这有可能吗?任何评论/答案将不胜感激。

【问题讨论】:

  • 如果有人给出答案或评论指出问题出了什么问题,而不是为了它而对有效问题投反对票,我将不胜感激..

标签: git gruntjs githooks grunt-contrib-requirejs


【解决方案1】:

您可以使用grunt-githook's template option 创建一个自定义模板来执行 git add --all 命令。 This getting started article 提供了一个很好的例子来说明如何创建自定义模板。

也就是说,在每次提交之前运行 git add -all 将使选择要提交的文件比平时多得多。您必须在执行之前存储您不想成为提交的一部分的更改,然后再取消存储它们。如果您需要将这些文件添加到存储库中,那么在您添加的内容中更具针对性可能是值得的。毕竟它们可以从源中生成。

【讨论】:

  • 谢谢@Rhumaric。非常感谢您的帮助,我会解决这个问题的。 :)
猜你喜欢
  • 2015-03-20
  • 2015-11-30
  • 2021-09-15
  • 2023-04-02
  • 2018-05-14
  • 2014-08-31
  • 1970-01-01
  • 2013-07-17
  • 2015-06-15
相关资源
最近更新 更多