Folks, I have a branch called user/foo
that I'd like to check out from remote. Code:
Git.prototype.refresh = function refresh(branch) {
var options = {
credentials: function() {
return NodeGit.Cred.userpassPlaintextNew(GITHUB_TOKEN, "x-oauth-basic");
},
certificateCheck: function() {
return 1;
}
};
return NodeGit.Repository.open(localPath).then(function (repo) {
return repo.checkoutBranch(branch, options).then(function (checkoutresult) {
return repo.fetchAll(options).then(function (result) {
return Promise.resolve(result);
}).catch(function (err) {
console.log('Unable to fetch',err);
return Promise.reject(new Error(err));
});
}).catch(function(err) {
console.log('checkoutBranch',err);
return Promise.reject(new Error(err));
});
});
};
error:
[Error: Error: Reference 'refs/remotes/user/foo/HEAD' not found]
Am I using checkoutBranch incorrectly? I already have the remote cloned to a local directory, and am trying to switch to a particular branch.
Thanks!
This is copypasta from the nodegit issue
So you can only checkout a local branch. You're trying to checkout a remote. What you'll have to do is get the commit on the remote branch and then use that to create a new branch and then (optionally) set the upstream to track the original remote branch.
At that point you can then check out your newly created local branch.