有没有人使用nodejs实现git克隆或接口库?

时间:2011-05-10 20:13:31

标签: git node.js

我正在寻找可以从nodejs访问的git实现 - 这样的野兽存在吗?

3 个答案:

答案 0 :(得分:54)

看起来现在有几种从节点使用git的选项:

  • gift:用于Git CLI的简单Node.js包装器,其中包含基于Grit的API(npm / github
  • node-git:以grit为模型的node.js git实现(npm / github
  • nodegit:libgit2异步本机绑定(npm / github
  • node-git:命令行git命令(github
  • 周围的瘦包装器

答案 1 :(得分:30)

请注意确定Node是否有git库,但您也可以直接执行shell进程,例如:

var sys = require('sys')
var exec = require('child_process').exec;
function puts(error, stdout, stderr) { sys.puts(stdout) }
exec("git status", puts);

答案 2 :(得分:5)

还有 node-gitteh 作为libgit2绑定,但是gitteh和christkv / node-git都没有我需要的质量和完整性

我写了 treeeater 一个spawn git包装器,它可以使用普通的javascript对象而不是字符串来调用,可以解析一些输出(git log→commit objects,git ls-tree→tree object hierachy)并运行异步。它处于活动状态并支持所有git命令,至少用于调用它们并管理它们的输出块或行。你可以坚持使用git man-pages来获取每个命令的文档。