Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用nodegit列出两个分支之间的不同提交_Javascript_Git_Github_Nodegit_Node Github - Fatal编程技术网

Javascript 使用nodegit列出两个分支之间的不同提交

Javascript 使用nodegit列出两个分支之间的不同提交,javascript,git,github,nodegit,node-github,Javascript,Git,Github,Nodegit,Node Github,在我的程序中,我使用nodegit。我可以使用nodegit列出提交: var nodegit = require("nodegit"); var path = require("path"); var fs = require("fs"); var shas = []; var names= []; var mess= []; var sums= []; var time =[]; let promise = new Promise(function(resolve, reject) {

在我的程序中,我使用nodegit。我可以使用nodegit列出提交:

var nodegit = require("nodegit");
var path = require("path");
var fs = require("fs");

var shas = [];
var names= [];
var mess= [];
var sums= [];
var time =[];
let promise = new Promise(function(resolve, reject) {
    nodegit.Repository.open(path.resolve(__dirname, "repo_dir/.git"))
        .then(function(repo) {
            return repo.getMasterCommit();
        })
        .then(function(firstCommitOnMaster){
        // History returns an event.
        var history = firstCommitOnMaster.history(nodegit.Revwalk.SORT.TIME,nodegit.Revwalk.SORT.REVERSE);
        var sh = [];
        var t =[];
        var m = [];
        var names = [];
        var s = [];
        var nfiles = [];
        var numfiles = [];

        // History emits "commit" event for each commit in the branch's history

        history.on("commit", function(commit) {


            t.push([commit.date().getDate(),commit.date().getMonth()+1,commit.date().getFullYear()]);
            m.push(commit.message());
            sh.push(commit.sha());
            names.push(commit.committer().name());
            s.push(commit.summary());
            if(commit.sha()==firstCommitOnMaster.sha()){

                resolve([t,m,sh,names,s,numfiles]);
            };
        });


        history.start();

    })

    .done();
}).catch(function(e){console.log(e)});

promise.then(result =>{
    time=result[0];
    mess=result[1];
    shas = result[2];
    names = result[3];
    sums = result[4];
    nf = result[5];
let student = {  
    t: time,
    m: mess, 
    shsh: shas,
    n: names,
    sum: sums, 
    numf: nf,
};

let data = JSON.stringify(student, null, 2);  
fs.writeFileSync('fileJ.json', data, (err) => {  
    if (err) throw err;
    console.log('Data written to file');
}); 

}).catch(function(e){console.log(e)});
但我的问题是做同样的事情,但在提交中,使用nodegit列出两个分支之间的不同提交

我在GitBash中发现的主要内容是:

$ git log --left-right --graph --cherry-pick --oneline feature...branch
我的代码应该将master与此工具中的早午餐进行比较:

然后以JSON的形式获取所有提交和存储的信息,就像主服务器的代码一样。 谢谢大家的帮助