我想知道如何使用nodegit使用代理选项推送到远程。
我阅读了很多与推送有关的问题,但这些问题都没有涉及如何使用代理选项进行推送。 任何帮助将不胜感激。
var proxyOptions = new nodegit.ProxyOptions();
proxyOptions.url="http://http.proxy.abc.com:8000";
proxyOptions.type=2;
proxyOptions.version=1;
var pushOpts = new nodegit.PushOptions();
pushOpts.proxyOpts=proxyOptions;
.then(function(remote) {
return remote.push(["refs/heads/"+remoteBranchName+":refs/heads/"+remoteBranchName],{
callbacks: {
credentials: function(url, userName) {
console.log("Requesting creds");
return nodegit.Cred.userpassPlaintextNew("XXX@gmail.com", "XXX");s
},
}
},pushOpts );
}).catch(function (err) {
console.log(err);
});
{ [Error: failed to send request: The operation timed out
] errno: -1, errorFunction: 'Remote.push' }
这是我收到的错误消息。这意味着请求由于代理问题而没有通过。
我对克隆有类似的问题。但是能够使用cloneopts解决。
cloneOptions.fetchOpts ={
proxyOpts:proxyOptions,
};
nodegit.Clone( url,path1,cloneOptions)