2013-12-12 42 views

回答

24

是的,你可以做到這一點。

在Github上的術語中,「分支」是「基地」 所以搜索短語是:is:open is:pr base:X

官方介紹:Search based on branch names

您也可以選擇添加is:mergedis:unmerged過濾器爲好。

+0

歡迎來到StackOverflow。如果您可以將命令添加到您的答案,它會使它更好。 :) – Drazisil

+0

這是一個新功能!更多詳細信息,請參見: https://help.github.com/articles/searching-issues/#search-based-on-branch-names – Markomafs

+0

不幸的是,這匹配以X開頭的所有分支。任何人都知道如何搜索特定分支,而不是前綴? – yoyo

10

截至2016-01-10這已添加到gh搜索欄api中,請參閱下一個答案。

原始接受(現在outed答案)留下未編輯。


目前無法通過Web界面

GitHub上可用目前不提供一種方法,通過他們的網絡接口,以過濾由他們的目標 分支拉請求。相反,你現在得到的是隻是 整個拉請求與話題分支機構的名稱列表:

GitHub Pull-Request UI

點擊進入拉請求將顯示目標分支,但不 真的可以幫助你做任何你想做的過濾。

你可以使用GitHub的REST API相反

有可能通過使用GitHub REST API, 然而過濾拉請求:

GET /repos/:owner/:repo/pulls?base=:branch 

這應該告訴你的所有開放拉請求回收:owner/:repo, 通過將目標:branch作爲其基本分支的請求進行過濾。從 文檔:

過濾器通過基本分支名稱拉。例如:gh-pages

示例使用捲曲

如果你有curl可用,您可以在公共回購從 命令行測試:

curl https://api.github.com/repos/codecombat/codecombat/pulls?base=master > \ 
pulls.json 

,將返回的JSON響應以下形式:

[ 
    { 
    "url": "https://api.github.com/repos/codecombat/codecombat/pulls/879", 
    "id": 14955421, 
    "html_url": "https://github.com/codecombat/codecombat/pull/879", 
    "head": { 
     "label": "DanielRodriguezRivero:patch-4", 
     "ref": "patch-4", 
     "sha": "baff84f0aeee12f23e3608558ae5341a0b5f939b", 
     "repo": { 
     "id": 16202384, 
     "name": "codecombat", 
     "full_name": "DanielRodriguezRivero/codecombat" 
     } 
    }, 
    "base": { 
     "label": "codecombat:master", 
     "ref": "master", 
     "sha": "5e2f3ac7cb731a6e40e81737a5122c7fe1b746d3", 
     "repo": { 
     "id": 15193430, 
     "name": "codecombat", 
     "full_name": "codecombat/codecombat" 
     } 
    } 
    } 
] 

數組中的每個對象都是一個拉取請求,由基本/目標分支過濾。 JSON實際上包含的信息比這更多,我剛剛刪除了大部分內容,以顯示此問題的相關部分 。

解析捲曲響應

你也許可以寫一個Python/Ruby的/ PHP /無論腳本,然後分析出各拉請求html_url財產,並列出它的命令行上。例如,這裏有一個簡單的Ruby腳本,它將分析從curl輸出保存在一個JSON響應的輸出:

require 'json' 

json = JSON.parse(File.read('./pulls.json')) 
pulls = json.map { |pull| { title: pull['title'], url: pull['html_url'] } } 

pulls.each do |pull| 
    puts pull.values 
    puts 
end 

,它輸出以下內容:

$ ruby parser.rb 
Update es-ES.coffee 
https://github.com/codecombat/codecombat/pull/879 

Fix deltas referring to last system saved 
https://github.com/codecombat/codecombat/pull/874 

Refactor getNameById and add naming to systems in deltas 
https://github.com/codecombat/codecombat/pull/866 

Traducido varios textos del fichero es-ES.coffe al espa├▒ol de Espa├▒a 
https://github.com/codecombat/codecombat/pull/865 

Anon name collide 
https://github.com/codecombat/codecombat/pull/834 
+0

我添加了一個註釋,說這個答案現在已經過時,猶豫刪除整個第一部分。 – tacaswell

相關問題