如何获得提交所在的分支?
How to get a branch on which a commit is?
有没有办法获取有关分支的信息(使用 libgit2 库),最好是 git_reference* 来自 git_commit*?
我想做的基本上是从提交中获取有关分支的信息。
谢谢
不,没有办法做到这一点。 Git 提交不是 "on" 分支,而是分支是指向提交的指针。所以数据存储走向相反的方向。因此,许多分支可能指向同一个提交,因此无法从一个提交中获得 单个 分支。
您可以找到包含给定提交的所有分支,但由于其相当模糊的性质,它不是 libgit2 提供的功能。您当然可以 使用 libgit2 自己实现它,方法是 revwalk
您感兴趣的分支以查看是否找到给定的提交。但在性能方面会非常令人失望。
有没有办法获取有关分支的信息(使用 libgit2 库),最好是 git_reference* 来自 git_commit*?
我想做的基本上是从提交中获取有关分支的信息。
谢谢
不,没有办法做到这一点。 Git 提交不是 "on" 分支,而是分支是指向提交的指针。所以数据存储走向相反的方向。因此,许多分支可能指向同一个提交,因此无法从一个提交中获得 单个 分支。
您可以找到包含给定提交的所有分支,但由于其相当模糊的性质,它不是 libgit2 提供的功能。您当然可以 使用 libgit2 自己实现它,方法是 revwalk
您感兴趣的分支以查看是否找到给定的提交。但在性能方面会非常令人失望。