我们有一堆浏览器化和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'));
}
}
});
});
答案 0 :(得分:0)
可能触发重新编译的是对.git
目录的更改,因为git不会更改文件,除非它们已在上游更改。尝试将!.git
添加到您的paths.scripts中以忽略它。
答案 1 :(得分:0)
您的文件系统会修改文件,无论是git还是编辑器进行更改。我想到的一件事就是一个git pre-commit hook,挂起gulp watch直到git完成。但是,这似乎很麻烦。