git 获取提交的标记

mgdq6dx1  于 2022-11-20  发布在  Git
关注(0)|答案(2)|浏览(158)

给定GitPython Commit的一个对象,我怎样才能得到与这个提交相关的标签?
我喜欢这样的东西:

next(repo.iter_commits()).tags
vnzz0bqm

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)]
gg0vcinb

gg0vcinb2#

我相信您可以使用以下内容:git标记--指向
应该很容易从GitPython运行

相关问题