2015-06-04 67 views
1

對於編號爲1的PR,GitHub會自動創建一個編號refs/pulls/1/headrefs/pulls/1/merge。後者包含合併的結果,並且對於例如CI(因爲你想測試的實際上是合併的結果)。獲得合併PR結果的合併結果

合併PR後,refs/pulls/<number>/merge不再可用(我想因爲PR不再合併)。目前我想對剛剛合併的版本進行測試。只有PR編號,有沒有簡單的方法可以訪問合併的PR的結果?

+1

可能是我沒有說清楚。問題是我實際上在尋找合併提交(例如它的sha),只給出PR號。 – Martijn

回答

1

下應該做的伎倆,即使你應該知道,有可能多一個提交的「兒童」(別人能的基礎上的公關工作,再後來它合併到主):

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

這是通過從upstream/pull/<number>upstream/master獲得第一次提交。幸運的是github在公關的最後一次提交時離開了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) 
+0

哇,你必須對git有很多瞭解。非常感謝! – Martijn