查找GitHub拉取请求的父提交

时间:2014-08-09 22:59:33

标签: git github

当您提交新的拉取请求时,GitHub会自动创建两个引用:

  • refs/pull/<number>/head指向添加到拉取请求的最后一次提交

  • refs/pull/<number>/master指向GitHub创建的提交以将当前主数据与当前提取请求头合并

这些是唯一的,如git ls-remote所示:只有头部和主人。

我想找到类似refs/pull/<number>/parent的内容,指向此拉取请求的特定父提交。

到目前为止我的解决方案:下载特殊URL <github>/pull/934.patch,grep第一个SHA的此文件的内容,然后使用git查找此提交的父级。有没有办法在不打网络的情况下做到这一点?

1 个答案:

答案 0 :(得分:2)

您可以尝试使用GitHub API for PR列出Pull Request的所有提交(而不是下载.patch)。

GET /repos/:owner/:repo/pulls/:number/commits

然后,如果你在repo中,你可以使用git来获取该列表中第一个提交的父级(从中启动PR的提交)。

git log --pretty=%P -n 1 <commit>