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

时间:2015-01-24 06:10:29

标签: java github github-api

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

项目中获取所有提交

现在我想获得该项目的某个发布的所有提交

我该怎么办?

1 个答案:

答案 0 :(得分:1)

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

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

并且您希望从存储在响应对象的“object”属性中的对象获取“sha”属性。使用'sha'属性,您需要使用commits APIlist 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来简化它。