如何获取2次提交之间的拉取请求列表

use*_*041 6 git github github-api atlassian-sourcetree

我想创建一个工具来检索SourceTree中两次提交之间完成的所有拉取请求(标题和正文).我所拥有的是2次提交的哈希值.我能够使用单个git日志获取每个提交哈希.我可以调用Github的API并列出存储库的所有pull请求,但是从那里我遇到了问题.

这两种做法似乎是通过匹配一系列日期或解析与pull请求相关联的提交,看看它们是否匹配,但这似乎不是一个干净的解决方案.

有谁知道这样做的方法?谢谢.

小智 8

您可以通过使用 git log 命令加上 grep(如果您可以使用 grep)来获取 PR 编号。

git log --oneline commit1...commit2 | grep 'Merge pull request #'
Run Code Online (Sandbox Code Playgroud)

请记住,您可以将 commit1 和 commit2 替换为实际的标记或发布。

如果要获取标题和正文,则必须从上面提取数字,然后调用 github API GET /repos/:owner/:repo/pulls/:number(请参阅https://developer.github.com/v3/pulls/

要查找 PR 的总数,请运行:

git log --oneline commit1...commit2 | grep 'Merge pull request #' | wc -l
Run Code Online (Sandbox Code Playgroud)