0

我正在尝试使用dulwich库获取 Git 存储库当前分支的名称。我花了很多时间浏览 dulwich 的文档,但找不到如何做到这一点。

4

2 回答 2

1

活动分支是“HEAD”当前指向的任何分支。您可以使用以下方式在 Dulwich 获得该 ref:

 >>> from dulwich.repo import Repo
 >>> x = Repo('.')
 >>> ref_chain, commit_sha = x.refs.follow(b'HEAD')
 >>> ref_chain[1]
 b'refs/heads/master'

现在dulwich.porcelain.active_branchmaster 中还有一个功能可以为您执行此操作。

于 2019-11-09T03:03:04.400 回答
0

这是我的最终结果,它删除了最初的 refs/heads/ 前缀:

>>> from dulwich.repo import Repo
>>> import re
>>> repo = Repo('.')
>>> (_, ref), _ = repo.refs.follow(b'HEAD')
>>> match = re.search(r'/([^/]+)$', ref.decode('utf-8')
>>> match[1]
'master'
于 2019-11-09T17:19:36.660 回答