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

时间:2015-09-11 12:05:18

标签: python git gitpython

我使用库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”。

2 个答案:

答案 0 :(得分:7)

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

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

答案 1 :(得分:5)

看起来您可以通过调用describe GitCmd来获得所需内容。

g = Git(git_dir)
rval = g.describe()

我没有看到任何直接访问此信息的方法。