如何获取 GitHub 中某个版本的所有提交?

How to get all commits for a certain release in GitHub?

我知道我可以使用GET /repos/:owner/:repo/commits

项目中获得所有提交

现在我想获得 项目 的某个 版本 的所有 提交

我该怎么办?

根据您对我的问题的回答判断,您希望提交 since 某个标记。这将需要几个步骤才能完成,首先您需要获取相关标签的 SHA。您需要使用 git references API to get a specific reference。在您链接的具体示例中,您需要执行

GET /repos/nasa/mct/git/refs/tags/v1.8b3

并且您需要从存储在响应对象的 'object' 属性中的对象中获取 'sha' 属性。对于 'sha' 属性,您需要使用 commits API to list commits starting with that 'sha',因此您的请求将如下所示:

GET /repos/nasa/mct/commits?sha=%(sha_from_first_request)s

默认情况下每页有 30 次提交(如果我没记错的话),所以您应该看看在末尾添加 &per_page=100 是否有帮助。我无法在 Java 中准确地告诉您如何执行此操作,但我希望您能够使用其中一种 libraries written to interact with the API 来简化操作。