【问题标题】:How to get all commits in a Git tag through GitHub API如何通过 GitHub API 获取 Git 标签中的所有提交
【发布时间】:2017-03-10 16:22:36
【问题描述】:

我必须获取所有新提交,这些提交是在 Git 存储库上创建新标签时的一部分。这需要通过 GitHub API 完成。

例如,Git UI 说 Tagging Tag1 并且有一个与之关联的 sha...假设 sha 是:SHA1

现在我如何通过 GitHub API 获取所有发生的或属于 Tag1 的所有提交?我想存储所有这些提交并对它们进行一些分析。

【问题讨论】:

  • 您需要定义您的意思。标记名称指向单个(一,1)提交——但是,分支名称也是如此;但另一方面,分支名称旨在随着时间而改变,而标签名称旨在永远指向第一次提交。
  • @torek :我的意思是“标签名称旨在永远指向第一次提交”,而不是分支。我想获得这个新创建的标签和以前的标签之间的所有提交。全部通过 GITHUB API。谢谢。
  • 好的,我不知道如何使用 API 执行此操作。即使没有 API,最大的问题是定义“前一个标签”。 v2.3.1 是 v2.4.0 之前的版本吗?如果有一个 v2.3.2 但它是在 v2.4.0 之后创建的怎么办?
  • 您好 Akchay,我想知道我提供的答案是否对您有用。如果是这样,你介意接受吗?
  • @rebagliatte:- 感谢您的回答,它对我有用。虽然我遇到了 /compare github api 并且已经使用了它。但很高兴你的建议是相似的,值得赞赏。谢谢!

标签: github github-api git-commit git-tag


【解决方案1】:

根据您对评论的澄清:

我想获取这个新创建的标签和之前的标签之间的所有提交

1.获取给定 repo 中的所有标签,因此您可以获取当前和以前的标签名称

curl -X "GET" "https://api.github.com/repos/:owner/:repo/tags" \
     -H "Authorization: token YOUR_GITHUB_ACCESS_TOKEN"

2。获取最新 2 个标签之间的所有提交

curl -X "GET" "https://api.github.com/repos/:owner/:repo/compare/:tag_1...:tag_2" \
     -H "Authorization: token YOUR_GITHUB_ACCESS_TOKEN"

文档链接:

【讨论】:

    猜你喜欢
    • 2015-01-31
    • 2020-08-05
    • 1970-01-01
    • 2021-02-11
    • 2020-08-06
    • 1970-01-01
    • 1970-01-01
    • 2022-08-19
    • 1970-01-01
    相关资源
    最近更新 更多