我們有越來越多的案子開始依賴 GitHub 幫我們做版本控制與議題追蹤,我則是越用越上癮,不但自己公司用,連客戶公司我也都強烈推薦使用,而且真正用上手且懂得箇中奧妙的人,還真的會愛不釋手。最近有個案子累計有將近 600 個 Issues 在 GitHub 上面,參與專案人數有十幾二十人,為了讓大家能找到相關的議題,學會適當的分類與篩選非常重要,今天我就要來分享一個在 GitHub 裡面做關鍵字搜尋的小技巧,這對 Issues 比較多的團隊來說,學會如何聰明的搜尋,是非常重要的一件事。
如下圖示,是 GitHub 的 Issues 介面,在該介面最上方就有個「搜尋框」,可以讓你輸入關鍵字:
不過,我們在 GitHub 上面管理的專案,有區分不同的 Milestones、不同的 Labels、還會指派 Issues 給特定人,要能順利找出那些你想找到的 Issues,確實需要一些技巧。
我想基本的切換 Milestones、點選 Labels 進行篩選、顯示指派給自己的 Issues,應該不太需要特別說明,從網頁上就能順利操作,而我要講的是我不說、你不查,就不會知道的技巧。
以下我們直接以 jQuery Mobile 在 GitHub 上的專案來做解說:
技巧 1:找出特定人建立的 Issues
找出所有由 arschmitz 建立的 Issues,有一個直接改網址的方法,請參考以下說明。
- 先點選 Created by you 篩選出自己的 Issues
- 然後直接在網址列換上要篩選的人的 GitHub 帳號即可
技巧 2:找出指派給特定人的 Issues
找出所有指派給 arschmitz 的 Issues,有一個直接改網址的方法,請參考以下說明。
- 先點選 Created by you 篩選出自己的 Issues
- 直接在網址列置換兩段文字,一段是把 created_by 換成 assigned,另一段換成特定人的帳號
技巧 3:搜尋關鍵字外加目前為 Open 或 Closed 狀態的 Issues
在 GitHub Issues 用關鍵字搜尋,預設會搜尋該專案下所有 Issues,不會區分 Milestone、Labels 或 Issues 的狀態 ( Open / Closed ),如果要特別再篩選出特定關鍵字搜尋結果的 Issues 狀態,可以加入以下指令:
- state:open ( 僅顯示狀態為 Open 的 Issues )
- state:closed ( 僅顯示狀態為 Closed 的 Issues )
如下圖示:
搜尋結果如下圖示:
技巧 4:搜尋關鍵字外加限定在某個 Milestone 的 Issues
在 GitHub Issues 用關鍵字搜尋,預設不會區分 Milestone,要限定特定 Milestone 的指令如下:
- milestone:none ( 限定顯示 Issues with no milestone 的 Issues )
- milestone:26 ( 限定顯示 Milestone 編號為 26 的 Issues )
我們要怎樣查詢特定 milestone 編號為何呢?請參考下圖,先切換 Milestone,從網址列上就看的出來:
技巧 5:搜尋關鍵字外加限定特定 Labels 的 Issues
在 GitHub Issues 用關鍵字搜尋,預設不會區分 Labels,要限定特定 Labels 的指令如下:
- label:標籤名稱 ( 限定顯示特定標籤的 Issues )
- label:"含有空白的標籤名稱" ( 如果標籤包含空白字元,記得前後加上雙引號 )
如下圖示:
技巧 6:搜尋關鍵字外加特定建立者的 Issues
在 GitHub Issues 用關鍵字搜尋,預設不會區分 Issues 的建立人,要限定特定建立人指令如下:
如下圖示:
技巧 7:搜尋關鍵字外加有 Tag 特定人的 Issues
我們在 GitHub Issues 可以用 @Username 來 Tag 特定人,被 Tag 的人會收到通知,但如果你想透過搜尋的方式找到特定人被 Tag 過的 Issues,就可以用以下指令進行搜尋:
如下圖示:
以下這個就是被 Tag 的人:
技巧 8:搜尋關鍵字外加有被指派特定人的 Issues
在 GitHub Issues 要篩選出被指派給特定人的 Issues 可以用以下指令:
如下圖示:
技巧 9:搜尋關鍵字外加特定建立期間的 Issues
在 GitHub Issues 要篩選出特定建立期間的 Issues 可以用以下指令:
- created:2014-04-01 ( 限定顯示就是 2014/4/1 這天建立的 Issues )
- created:>2014-04-01 ( 限定顯示從 2014/4/1 以後建立的 Issues,包含這個日期 )
- created:<2014-04-01 ( 限定顯示從 2014/4/1 以前建立的 Issues,不含這個日期 )
注意: 你不能同時下兩個 created 指令,同名的指令,GitHub 會以後面那個條件為主。
如下圖示:
技巧 10:搜尋關鍵字外加特定更新期間的 Issues
在 GitHub Issues 要篩選出特定更新期間的 Issues 可以用以下指令:
- updated:2014-04-08 ( 此種搜尋指令搜尋結果不太精準,建議不要用 )
- updated:>2014-04-08 ( 限定顯示從 2014/4/8 以後更新過的 Issues,包含這個日期 )
- updated:<2014-04-08 ( 限定顯示從 2014/4/8 以前更新過的 Issues,不含這個日期 )
注意: 你不能同時下兩個 updated 指令,同名的指令,GitHub 會以後面那個條件為主。
如下圖示:
技巧 11:搜尋關鍵字外加特定 Issues 的評論數大於、小於或等於一定數量的
在 GitHub Issues 要篩選出被指派給特定人的 Issues 可以用以下指令:
- comments:0 ( 限定顯示沒有任何評論或留言的 Issues )
- comments:>10 ( 限定顯示評論數量大於 10 項的 Issues )
- comments:<3 ( 限定顯示評論數量小於 3 項的 Issues )
如下圖示:
更多完整的搜尋技巧,各位可以繼續閱讀 Searching issues 官方文件。
相關連結