Github 使用git api按分支名称\id获取git提交

Github 使用git api按分支名称\id获取git提交,github,github-api,Github,Github Api,我正在使用Git hub存储库的自动化服务。我这边有个问题-我找不到一种方法来通过hash\name获取特定分支中的所有提交 我的代码是一个自动的工具,用于进行代码审查。因此,我添加了一个特性,在我的审查过程中忽略特定的分支(例如,测试分支或类似的分支)。因此,在我的服务中,我将分支标记为被忽略。一旦我从git hub api获得提交,就没有关于当前提交属于哪个分支的信息 我开始认为我的总体github想法是错误的——因为提交分支链接是非常明显的事情,所以应该有一些东西让API开发人员在方法中忽

我正在使用Git hub存储库的自动化服务。我这边有个问题-我找不到一种方法来通过hash\name获取特定分支中的所有提交

我的代码是一个自动的工具,用于进行代码审查。因此,我添加了一个特性,在我的审查过程中忽略特定的分支(例如,测试分支或类似的分支)。因此,在我的服务中,我将分支标记为被忽略。一旦我从git hub api获得提交,就没有关于当前提交属于哪个分支的信息

我开始认为我的总体github想法是错误的——因为提交分支链接是非常明显的事情,所以应该有一些东西让API开发人员在方法中忽略了这一点

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


谢谢

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

如果只想检查提交是否在分支test123上,请执行以下操作:

并检查状态


如果是“相同”或“落后”,则提交是分支的一部分。如果是不同的,则不是。

如何从GitHub获得提交?您是使用存储库钩子()还是手动获取提交()?如果您使用的是钩子,那么您将被通知哪个分支被推到了-,实际上我正在使用这两个分支。第一个通知我添加了一个提交,然后我使用第二个来获取它的数据。不过还是要谢谢你-我会尽量使用这些信息。我需要得到分支中的所有提交,而不是推送中的最后一个。因此,我需要一种方法来按分支获取所有commit,或者在所有commentsEach对象的列表中找到一个分支。每个commit对象都有父对象的sha。如果你跟踪每个分支的负责人,你很可能会找到答案。如果它与现有的头都不匹配,这意味着它很可能是来自早期提交的一个分支,但是您只需要请求新分支上的所有提交(这将来自推送事件)我还强烈建议@chaZm将ETag信息存储在这些列表中,以便他们在下一次传递时只接收他们尚未看到的提交(假设他们已经将旧信息存储在某个地方)。