1

我试图实现 nodegit 来使用 gitlab 进行 repo 控制,但是我需要使用基本的用户名密码身份验证,并且文档只使用 ssh。我尝试使用 Cred.userpassPlaintextNew 但我得到 [错误:重定向或身份验证重放次数过多],如下所示:

var nodegit = require('nodegit'),
    path = require('path');

var url = "https://gitlab.com/myuser/myrepo.git",
    local = "./clone",
    cloneOpts = {
  fetchOpts: {
    callbacks: {
      credentials: function() {
        return nodegit.Cred.userpassPlaintextNew('myuser','mypass')
      }
    }
  }
};


nodegit.Clone(url, local, cloneOpts).then(function (repo) {
    console.log("Cloned " + path.basename(url) + " to " + repo.workdir());
}).catch(function (err) {
    console.log(err);
});

我怎样才能做到这一点?

4

1 回答 1

1

最终通过子进程实现了 git。Nodegit 库有很多问题,包括锁定目录,因此即使在函数返回后您也无法删除它们。

于 2016-07-20T18:02:40.337 回答