获取合并PR时的结果

时间:2015-06-04 10:53:59

标签: git github merge refs

对于编号为1的PR,GitHub会自动创建参考refs/pulls/1/headrefs/pulls/1/merge。后者包含合并的结果,尤其适用于例如合并。 CI(因为您要测试的内容实际上是合并的结果)。

合并PR后,refs/pulls/<number>/merge不再可用(我想因为PR不再合并)。目前我想对刚刚合并的版本进行测试。只给出PR编号,是否有一种简单的方法来访问合并PR的结果?

1 个答案:

答案 0 :(得分:1)

以下应该可以解决这个问题,即使你应该知道提交可能存在多个“子”(其他人可能会在PR上工作并稍后再将其合并到master中):

$ git rev-list -n1 upstream/pull/<number>..upstream/master

这可以通过让第一次提交从upstream/pull/<number>走到upstream/master来实现。幸运的是,github只是在PR的最后一次提交时离开了upstream/pull/<number>

以下是https://github.com/RDFLib/rdflib的示例:

目前的历史如下:

* 371263f - (upstream/pull/486) Removed debugging print statement
...
*   fe3fa52 - (upstream/master, upstream/HEAD) Merge pull request #482
|\
| * 354c352 - (upstream/pull/482) fix broken example
|/
*   f81e0b2 - Merge pull request #480
....

这里有一些测试输出:

$ git rev-list -n1 upstream/pull/482..upstream/master
fe3fa522b48e787fa87dc1156e1a10bd6671b62c
$ git rev-list -n1 upstream/pull/486..upstream/master
(no output)