当您提交新的拉取请求时,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查找此提交的父级。有没有办法在不打网络的情况下做到这一点?
答案 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>