在git中我们可以使用以下命令来实现它:
git branch -f branch-name new-tip-commit
我们如何在nodegit中实现相同的目标?
答案 0 :(得分:1)
您可以尝试重新创建分支,即使它已经存在也会强制创建。
请参阅Repository.prototype.createBranch (lib/repository.js#L28-L39
),其中包括:
@param {bool} force Overwrite branch if it exists
您可以在examples/create-branch.js#L4-L16
中看到一个示例:
var nodegit = require("../");
var path = require("path");
nodegit.Repository.open(path.resolve(__dirname, "../.git"))
.then(function(repo) {
// Create a new branch on head
return repo.getHeadCommit()
.then(function(commit) {
return repo.createBranch(
"new-branch",
commit,
0,
repo.defaultSignature(),
"Created new-branch on HEAD");
});
}).done(function() {
console.log("All done!");
});
如果在该示例中用0
替换1
,即使已经存在,也会强制创建该分支,从而有效地将其HEAD重置为新提交。