有没有一种方法可以在gulp.js任务运行器中定制git提交消息?

3

我已经将gulp.js引入到我的当前项目构建中,并且正在使用gulp-git。我在尝试找出是否有一种方法可以允许用户在终端输入“gulp commit”命令后输入唯一的提交消息选项。这可能吗?

以下是当前的gulp任务。

gulp.task('commit', function(){
  gulp.src('./*', {buffer:false})
  .pipe(git.commit('initial commit'));
});

我正在使用 gulp-git 包 https://github.com/stevelacy/gulp-git

1个回答

2
请看gulp-prompt,它似乎是你要找的东西:https://www.npmjs.com/package/gulp-prompt。我没有测试过,但是像这样做应该可以:安装gulp-prompt npm install gulp-prompt,然后编辑你的gulp任务。
gulp.task('commit', function(){
    var message;
    gulp.src('./*', {buffer:false})
    .pipe(prompt.prompt({
        type: 'input',
        name: 'commit',
        message: 'Please enter commit message...'
    }, function(res){
        message = res.commit;
    }))
    .pipe(git.commit(message));
});

1
Gulp-prompt正是我正在寻找的,谢谢! - lollipopwizardkid
没问题,很乐意帮忙。 - rjmacarthy
2
你的解决方案肯定是我一直在寻找的答案,但是当我运行命令时,似乎出现了一些奇怪的错误。TypeError: Cannot call method 'indexOf' of undefined at Object.module.exports [as commit]我尝试过谷歌,但似乎没有任何解决方案,你有什么想法吗? - lollipopwizardkid
1
仍然卡在这个问题上,好像它正在工作。终端似乎只是在显示一些错误之后才显示输入提交消息的选项。@RichardMacarthy,您能否测试一下并查看是否会出现类似的错误? - lollipopwizardkid

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接