如何从 git 日志中找出谁在 GitHub 上打开了拉取请求

How to find out from the git log who opened a pull request on GitHub

有没有办法从 git 日志中找出 在 GitHub 上打开 拉取请求的人?我不是在寻找合并拉取请求的人。我知道拉取请求不是 git 功能,而是 GitHub 功能。也许终究有办法找出答案。

git log --merges --first-parent

returns 作为“作者”执行合并的人。

当您知道提交 X 合并了拉取请求时,您可以使用

git show X^2

列出合并侧分支上最后一次提交的作者。那可能是打开拉取请求的人。

这不能保证,只是一个很好的猜测,因为正如你所说,拉取请求不是 Git 的事情。

唯一需要 git 查找的地方是 commits:

  • 代表被推送到 Github
  • 的更改的原始提交
  • 合并提交(假设您使用真正的合并,而不是 Github 的历史重写选项之一)

对于其中的每一个,都会记录两个姓名(和电子邮件地址):

  • 变更的作者
  • 变更的提交者;例如,在重新提交的提交中,这是 运行 git rebase
  • 的人

可能这四个人中的一个会在 Github 的网站 UI 中打开 Pull Request,但是没有 gua运行tee of it - 如果 Bob 为 Alice 的更改打开一个 PR,并且 Carol 合并了它,那么只有 Alice 和 Carol 会出现在 git 日志中。这很可能取决于您的工作流程 - 原始更改的提交者可能是一个合理的猜测,因为他们是最后一个“接触”提交的人。

唯一的其他方法是将合并匹配回已关闭的合并请求,并使用 Github 的专有 API 在那里查找详细信息。