如何使用Nodegit获取提交的分支

3

我想知道如何获取特定提交所在的分支(而不是HEAD),因为分支只是附加在提交上的一个“标签”。

enter image description here

例如,在这张图片中,我如何使用nodegit或其他git库来获取节点E所在的分支。

我查看了文档,但没有找到git branch --contains相当的内容。

谢谢!


当功能分支cool-new-feature被合并然后删除时,您会期望什么?提交记录仍将存在,但仅包含在主分支中。 - milbrandt
@milbrandt 是啊,但如果该分支没有被删除呢? - R00t
git branch --contains 命令并不能告诉你一个提交是在哪个分支创建的,它只能告诉你这个提交现在可以从哪些(本地)分支访问到。我快速查看了文档,认为你可以使用以下 API:1)获取一个分支;2)列出它的提交;3)测试提交是否在其中;4)循环遍历本地/远程/所有分支,如果没有现成的单一 API 可以完成这项工作的话。 - ElpieKay
1个回答

1

你需要:

  1. 遍历所有分支。
  2. 使用 NodeGit.Merge.base(repository, branchTip, interestedCommit) 找到每个分支尖端的祖先与感兴趣的提交进行比较。
  3. 然后如果 returnedCommit === interestedCommit,那就没问题了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接