我正在尝试研究如何将克隆选项传递给nodegit clone方法。
节点git文档指出克隆方法的第3个参数是克隆选项对象 http://www.nodegit.org/nodegit/#Repo-clone
git.Repo.clone(URL, path, CloneOptions, callback);
但是此对象未包含在nodegit的标准版本中。
我已将clone_options.cc文件的绑定添加到bindings.gyp文件中,我可以访问克隆选项对象。但是,我无法弄清楚如何使用有效的分支名称实例化它。 libgit2 api显示该选项是checkout_branch http://libgit2.github.com/libgit2/#HEAD/type/git_clone_options
任何人都对如何做到这一点有任何见解?或者在支持在节点中克隆git分支的替代库?
var CloneOptions = nodegit.CloneOptions;
var options = new CloneOptions({checkout_branch: branchName});
git.Repo.clone(url, temp, options, function (err, repo) {...});
结果
Error: git_clone_options is required.
在nodegit
的github问题页面上还有一个开放的线程答案 0 :(得分:5)
你可以试试这个......
var Git = require('nodegit');
var clone = Git.Clone.clone;
var branch = 'development';
var cloneOptions = new Git.CloneOptions();
cloneOptions.checkoutBranch = branch;
clone(url, directory, cloneOptions)
.then(function(repository){
console.log(repository);
});