我想知道如何获取特定提交所在的分支(而不是HEAD),因为分支只是附加在提交上的一个“标签”。
例如,在这张图片中,我如何使用nodegit或其他git库来获取节点E所在的分支。
我查看了文档,但没有找到git branch --contains
相当的内容。
谢谢!
我想知道如何获取特定提交所在的分支(而不是HEAD),因为分支只是附加在提交上的一个“标签”。
例如,在这张图片中,我如何使用nodegit或其他git库来获取节点E所在的分支。
我查看了文档,但没有找到git branch --contains
相当的内容。
谢谢!
你需要:
NodeGit.Merge.base(repository, branchTip, interestedCommit)
找到每个分支尖端的祖先与感兴趣的提交进行比较。returnedCommit === interestedCommit
,那就没问题了。
git branch --contains
命令并不能告诉你一个提交是在哪个分支创建的,它只能告诉你这个提交现在可以从哪些(本地)分支访问到。我快速查看了文档,认为你可以使用以下 API:1)获取一个分支;2)列出它的提交;3)测试提交是否在其中;4)循环遍历本地/远程/所有分支,如果没有现成的单一 API 可以完成这项工作的话。 - ElpieKay