nodejs中的git命令

Bob*_* JS 8 git github node.js

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

  • git clone
  • git创建分支
  • git pull请求 - 来自创建的brach

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

Sam*_*nda 17

使用外部包:您可以使用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;
Run Code Online (Sandbox Code Playgroud)

2.temp.sh

#! /usr/bin/bash
pwd
git --version
Run Code Online (Sandbox Code Playgroud)

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);
    }
});
Run Code Online (Sandbox Code Playgroud)

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

/ root
git version 1.8.1.2

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

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


小智 1

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

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

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

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