【问题标题】:How do I get the tags a commit belongs to?如何获取提交所属的标签?
【发布时间】:2013-05-28 22:03:34
【问题描述】:

我有一个GitHub repoa commit with an annotated tag。我可以从 Web UI 中看到 the tag 很好,但它似乎没有通过 API 暴露,既不是通过 commits API 也不是通过 tags API (据我所知,这似乎只能处理另一个方式:带注释的标签提交)。抓取refs API 似乎是一个几乎可行的解决方法,除了存储库中的标签越多,它会导致越来越多的流量。有没有其他办法?

【问题讨论】:

  • 你想解决什么问题?
  • @michas 得到一个标签列表,这些标签指向某个提交(我已经知道它的哈希值),而不像标题所说的那样刮掉 repo 中的所有标签

标签: git github-api


【解决方案1】:
git ls-remote git://github.com/antirez/redis.git | grep <SHA>

git-describe-remote.sh

【讨论】:

    【解决方案2】:

    问题是,只有知道其提交的标签和提交本身不知道哪些标签指向该提交。因此,唯一的机会是遍历所有标签并检查它们是否指向有问题的提交。

    在本地存储库中,您可以使用以下内容:

    git log -1 --decorate $SHA1
    

    对于远程存储库,您可能必须使用git ls-remote 获取所有引用。

    如果你想使用 API,可能get-all-references 是对应的等价物。
    特别是GET /repos/:owner/:repo/git/refs/tags 会列出你所有的标签。

    【讨论】:

      猜你喜欢
      • 2015-01-31
      • 2017-03-10
      • 1970-01-01
      • 2023-04-05
      • 2021-02-11
      • 1970-01-01
      • 2019-10-17
      • 2011-10-02
      • 2011-12-16
      相关资源
      最近更新 更多