我需要使用 JGit 获取与特定提交关联的分支名称。我使用 JGit 获取存储库的提交 SHA 的完整列表,现在我需要知道它所属的分支的名称。
如果有人能让我知道如何实现这一目标,我将不胜感激。
在 Git 中,提交不属于分支。提交是不可变的,而分支可以更改它们的名称以及它们指向的提交。
如果存在直接指向提交或提交的后继的分支,则可以从分支(或标记或其他引用)访问提交。
在 JGit 中,NameRevCommand可用于查找直接指向提交的分支(如果有)。例如:
Map<ObjectId, String> map = git
.nameRev()
.addPrefix("refs/heads")
.add(ObjectId.fromString("<SHA-1>"))
.call();
Run Code Online (Sandbox Code Playgroud)
上面的代码片段在refs/heads命名空间中查找指向给定提交的引用。返回的映射最多包含一个条目,其中键是给定的提交 ID,值表示指向它的分支。
| 归档时间: |
|
| 查看次数: |
3402 次 |
| 最近记录: |