给定一个特定的引用(在本例中是一个标签),你如何列出包含该提交的分支 git2go ?类似于 git branch --contains <commit>
.
最佳答案
这里的问题,从图的角度来看是“我怎么知道 A 是否是 B 的祖先?” (对于您想成为 B 的每个分支重复几次)。回答这个问题的唯一方法是从 B 开始沿着历史图走下去,然后检查是否找到 A。
您可以通过几种方式做到这一点,但最有效的通常是将问题简化为等同的“A 是 A 和 B 的 merge 基础吗?”。您可以通过 Repository.MergeBase()
在 git2go 中询问这个问题。这将返回您提供的两个提交之间的最佳 merge 基础。在您希望其中一个提交作为 merge 基础的情况下,这应该始终提供正确的答案,即使它将答案缩减为单个 merge 基础。
关于git - 如何在 git2go (libgit2) 中列出包含给定提交的分支?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31527908/