【问题标题】:How to get a list of pull requests between 2 commits如何获取 2 次提交之间的拉取请求列表
【发布时间】:2016-12-10 19:51:59
【问题描述】:

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

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

有谁知道实现这一点的方法吗? 谢谢。

【问题讨论】:

  • “两次提交”到底是什么意思?目标和源分支的负责人?
  • 如何定义拉取请求是否在两个提交“之间”?拉取请求的创建时间?拉取请求的“基础”提交在两个提交之间?

标签: git github github-api atlassian-sourcetree


【解决方案1】:

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

git log --oneline commit1...commit2 | grep 'Merge pull request #'

请记住,您可以将 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-05
    • 1970-01-01
    • 2014-04-15
    • 2018-06-21
    • 2019-10-17
    • 2021-05-11
    相关资源
    最近更新 更多