你如何从shelljs.exec命令获得git log输出?

时间:2016-01-28 13:11:31

标签: git logging gruntjs

我需要将git日志放入文件中。 命令行工作正常

Git log command line result

但是如果我使用shelljs.exec调用这个带有grunt任务的命令,我就不会得到任何输出

Git log with grunt task using shelljs.exec

这里是咕噜声代码:

/*global module:false,require,console*/
'use strict';

var shell = require('shelljs');


module.exports = function (grunt) {

    // Project configuration.
    grunt.initConfig({
        // Task configuration.
    });

    grunt.task.registerTask('git-log', 'git log output', function () {
        console.log('RESULT : ', shell.exec('git log HEAD...HEAD^ --oneline',{silent : true}).output);
    });

    // Default task.
    grunt.registerTask('default', ['git-log']);

};

我检查了所有shelljs文档并尝试了不同的方式(包括异步)但没有成功......

有什么想法吗? THX

1 个答案:

答案 0 :(得分:1)

尝试使用.stdout代替.output

在您的代码中:

shell.exec(
  'git log HEAD...HEAD^ --oneline',
  {silent : true}
).output;

更改为:

shell.exec(
  'git log HEAD...HEAD^ --oneline',
  {silent : true}
).stdout;