使用dulwich库获取当前Git分支名称



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

活动分支是"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'

现在master中还有一个dulwich.porcelain.active_branch函数可以为您执行此操作。

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

>>> 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'

最新更新