伙计们,我有一个名为user/foo
的分支,我想从远程办理退房。代码:
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: Reference 'refs/remotes/user/foo/HEAD' not found]
我是否错误地使用checkoutBranch?我已将远程克隆到本地目录,并尝试切换到特定分支。
谢谢!
答案 0 :(得分:3)
这是来自nodegit issue
的copypasta所以你只能结账一个本地分行。您正在尝试检出遥控器。您必须执行的操作是get the commit on the remote branch,然后使用create a new branch然后(可选)set the upstream来跟踪原始远程分支。
此时,您可以查看新创建的本地分支。