使用git api通过分支名称\ id获取git提交

时间:2013-05-13 08:07:40

标签: github github-api

我正在开发自动服务以使用Git中心存储库。而且我遇到了问题 - 我无法找到一种方法来通过其hash \ name获取特定分支的所有提交。

我的代码是一个自动化工具,可以进行代码审查。所以我在我的评论过程中添加了一个忽略特定分支的功能(例如测试分支或类似的东西)。所以在我的服务中,我将分支标记为忽略。一旦我从git hub api获得提交 - 那里没有关于当前提交属于哪个分支的信息。

我开始认为我的整体github想法是错误的 - 因为提交分支链接非常明显,所以应该有一些东西让API开发人员忽略GetCommits方法

所以我的问题是 - 有没有办法找出哪个分支提交(使用v3 api json结果)属于github api(v3-GET / repos /:owner /:repo / commits /:sha)。 / p>

由于

2 个答案:

答案 0 :(得分:9)

GitHub的API目前无法询问提交是否在特定分支的历史记录中。您唯一能做的就是获取特定分支的所有提交,然后遍历提交以查看特定提交是否在列表中。为此,请向/repos/:owner/:repo/commits?sha=branchname发出请求,其中branchname是您要获取提交的分支的名称,例如: https://api.github.com/repos/izuzak/pmrpc/commits?sha=master

答案 1 :(得分:5)

如果您只是想检查您的提交是否例如在分支test123上,请执行:

https://api.github.com/repos/golang/go/compare/test123...001a75a74c4a27901b0b536efe1be581612c52a9

并检查状态。

如果它是相同的'或者'落后'然后提交是分支的一部分。如果不同,则不然。