nodejs中的git命令

时间:2015-04-15 15:11:16

标签: node.js git github

如果有人知道/进入npm包使用git命令,我就会徘徊。 我有一个nodejs项目,我想要执行以下命令:

  • git clone
  • git create branch
  • git pull request - 来自创建的brach

我尝试了一些npm包但没有任何成功。 任何帮助将不胜感激 感谢

2 个答案:

答案 0 :(得分:15)

使用外部包: 您可以使用shelljs npm包

不使用外部包:利用nodejs child_process模块。以下是实施

1.exec_process.js

var exec = require('child_process').exec;

var result = function(command, cb){
    var child = exec(command, function(err, stdout, stderr){
        if(err != null){
            return cb(new Error(err), null);
        }else if(typeof(stderr) != "string"){
            return cb(new Error(stderr), null);
        }else{
            return cb(null, stdout);
        }
    });
}

exports.result = result;

2.temp.sh

#! /usr/bin/bash
pwd
git --version

3.app.js

var execProcess = require("./exec_process.js");
execProcess.result("sh temp.sh", function(err, response){
    if(!err){
        console.log(response);
    }else {
        console.log(err);
    }
});

要运行该应用程序,您可以尝试node app.js 输出:

  

/根
  git版本1.8.1.2

同样,您可以在shell脚本文件中添加任何命令并使用node运行它。演示和源代码发布在runnable

建议检查git-extras它通过命令行覆盖git的所有用例。

答案 1 :(得分:0)

我认为任何模块都不支持PR,但对于克隆/分支管理,请尝试gift

https://www.npmjs.com/package/gift

此模块似乎具有最多git功能。对于PR,我建议创建一个问题和/或为这个很棒的模块做出贡献:

https://github.com/notatestuser/gift/issues