给定GitPython Commit的一个对象,我怎样才能得到与这个提交相关的标签?我喜欢这样的东西:
next(repo.iter_commits()).tags
vnzz0bqm1#
问题是标签指向commit,而不是相反。要获得这个信息,需要线性扫描所有标签,找出哪些标签指向给定的commit。你可以自己写一些东西来做这件事。下面是commit-to-tags字典:
tagmap = {} for t in repo.tags(): tagmap.setdefault(r.commit(t), []).append(t)
对于一个给定的提交,你可以从以下位置获取与之相关的任何标记:
tags = tagmap[repo.commit(commit_id)]
gg0vcinb2#
我相信您可以使用以下内容:git标记--指向应该很容易从GitPython运行
2条答案
按热度按时间vnzz0bqm1#
问题是标签指向commit,而不是相反。要获得这个信息,需要线性扫描所有标签,找出哪些标签指向给定的commit。你可以自己写一些东西来做这件事。下面是commit-to-tags字典:
对于一个给定的提交,你可以从以下位置获取与之相关的任何标记:
gg0vcinb2#
我相信您可以使用以下内容:git标记--指向
应该很容易从GitPython运行