我看到对于拉取请求的提交,最大限制是250,如文档所示:列出拉取请求的提交,如果拉取请求超过250个提交,则建议另一个端点:列出提交
列出提取要求的最多250个认可。若要接收超过250个认可之提取要求的完整认可清单,请使用List commits端点。
GET /repos/:owner/:repo/pulls/:pull_number/commits
但是,我不知道如何使用列表提交端点,我可以弄清楚它是否绑定到拉请求。
编辑:想知道,如果我应该依靠git命令代替这里。例如,克隆repo,运行git log来获得所有提交的列表。不是所有的提交都将被推送到拉取请求?
此外,我正在寻找一种方法来查看是否有任何新的提交增量添加到拉取请求,因为它是第一次提出。对于情况下,其中审查意见是工作和添加到现有的拉取请求,在这种情况下,我希望只是验证增量的变化。任何指针或文档如何实现这一点?
3条答案
按热度按时间aiazj4mn1#
您可以使用
GET /repos/:owner/:repo/commits/:commit_sha/pulls
列出与某个提交关联的拉取请求,这将显示与给定提交关联的拉取请求。这意味着您需要检查每个提交以查看其是否与PR关联。这将创建大量额外的网络流量,因此除非绝对必要,否则我不建议使用此端点查找与PR关联的提交。我所能看到的为PR寻找新提交的最佳解决方案是在pull请求创建后获取分支的所有提交,您需要
GET
PR,拉出created_at
字段,并使用commits端点从分支中检索提交,并且将PR的created_at
字段用于提交请求主体中的since
字段并指定目标分支。lpwwtiir2#
github documentation指示如何在本地检查拉取请求:
在远程存储库上,拉取请求的当前“活动提交”存储在
refs/pull/<id>/head
下;当合并请求被合并时,在refs/pul/<id>/merge
处出现另一个ref。引用文件:您可以在本地副本上提取单个合并请求:
1.根据提取请求的ID号获取对提取请求的引用,在流程中创建一个新分支。
现在您可以比较
BRANCHNAME
和master
(*)来查看合并请求的提交列表:请注意,您可以选择将
pull/ID/head
提取到某个ref而不是分支中:(*)如果目标分支不是
master
,则需要以其他方式获取此信息,例如从API获取。您还可以将refspec设置为自动获取所有合并请求;参见例如X1 E1 F1 X:
在.git/config文件中找到github remote的部分,它看起来像这样:
现在将
fetch = +refs/pull/*/head:refs/remotes/origin/pr/*
这一行添加到这一节中。显然,更改github url以匹配您项目的URL。它最终看起来如下所示:下一个
git fetch
将下载所有拉取请求的所有引用(关闭、合并和一起打开)。我没有看到refspec中表示的拉取请求的 * 历史 *:
git fetch origin
这样,pull请求的历史记录就会出现在它的reflog中:
更直接的道:通过钩子,你可以访问被推送的提交和被更新的拉取请求,这样你就可以设置一些东西来存储拉取请求的历史。
brgchamk3#
GitHub CLI可以列出PR提交。很方便,CLI已经预先安装在GitHub Actions runner上。
第一个