GitPython:获取当前标签(分离头)

GitPython: Get current tag (detached head)

我用图书馆gitpython

如果本地git在签出的标签上,我想获取标签的名称。

repo=git.Repo(repo_dir)
repo.tag # --> tags. But which is the current?

在命令行上,git 工具知道。例子

user@host> git status
HEAD detached at release/1.2.3

我想通过 gitpython 获取字符串 "release/1.2.3"。

看来您可以通过 GitCmd 调用 describe.

来获得您想要的结果
g = Git(git_dir)
rval = g.describe()

我看不出有什么方法可以直接访问此信息。

您可以遍历标签并将每个标签提交与当前头提交进行比较:

next((tag for tag in repo.tags if tag.commit == repo.head.commit), None)