我正在尝试使用dulwich库获取 Git 存储库当前分支的名称。我花了很多时间浏览 dulwich 的文档,但找不到如何做到这一点。
问问题
187 次
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_branch
master 中还有一个功能可以为您执行此操作。
于 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 回答