当从git repo中提取时,Gulp会忽略更改

时间:2014-05-02 16:19:25

标签: node.js git github gulp browserify

我们有一堆浏览器化和uglified的js文件。每当我从github拉出并运行gulp时,它会重新浏览文件并将它们添加到我的git历史记录中。无论如何,Gulp知道文件更改来自git pull吗?这是我的gulpfile中的相关部分,当静态文件发生变化时,它运行自定义构建脚本:

gulp.watch(paths.scripts, function(event){
    gulp_util.log('Starting', "'" + chalk.cyan('browserify') + "'...");
    var filename = path.basename(event.path)
    exec('node static_compile/js_compile ' + filename,
        {cwd: __dirname },
    function(error, stdout, stderr){
        if(error){
            gulp_util.log(chalk.red('File error'), error);
        }
        else{
            if(stderr != ''){
                gulp_util.log(chalk.red('Compile error'), stderr.replace('\n', ''));
            }
            else{
                gulp_util.log(
                    'Finished',
                    "'" + chalk.cyan('browserify') + "'",
                    'updated',
                    chalk.green(stdout.replace('\n', ''))
                );
                server.changed(event.path);
                gulp_util.log(chalk.red('Reloading'));
            }
        }
    });
});

2 个答案:

答案 0 :(得分:0)

可能触发重新编译的是对.git目录的更改,因为git不会更改文件,除非它们已在上游更改。尝试将!.git添加到您的paths.scripts中以忽略它。

答案 1 :(得分:0)

您的文件系统会修改文件,无论是git还是编辑器进行更改。我想到的一件事就是一个git pre-commit hook,挂起gulp watch直到git完成。但是,这似乎很麻烦。