Skip to main content

検索構文を理解する

GitHub の検索では、特定の数字や単語にマッチするクエリを作成できます。

注: 以下の構文は、非コードの検索に適用されます。 コード検索の構文の詳細については、「GitHub Code Search の構文について」を参照してください。

ある値より大きいまたは小さい値のクエリ

>>=<<= を使用して、ある値より大きい、以上、より小さい、および以下の値を検索できます。

クエリ
>ncats stars:>1000 は、1,000 個を超える星を持つ "cats" というワードを持つリポジトリとマッチします。
>=ncats topics:>=5 は、5 つ以上のトピックを持つ "cats" というワードを持つリポジトリとマッチします。
<ncats size:<10000 は、10 KB 未満のファイル内の "cats" というワードを持つコードとマッチします。
<=ncats stars:<=50 は、50 個以下の星を持つ "cats" というワードを持つリポジトリとマッチします。

範囲クエリを使用して、ある値以上または以下の値を検索することもできます。

クエリ
n..*cats stars:10..* は、stars:>=10 に相当し、10 個以上の星を持つ "cats" というワードを持つリポジトリとマッチします。
*..ncats stars:*..10 は、stars:<=10 に相当し、10 個以下の星を持つ "cats" というワードを持つリポジトリとマッチします。

一定範囲にある値のクエリ

範囲構文 n..n を使用して範囲内の値を検索できます。最初の数値 N は最小値、2 番目の数値は最大値です。

クエリ
n..ncats stars:10..50 は、10 から 50 個の星を持つ "cats" というワードを持つリポジトリとマッチします。

日付のクエリ

>>=<<=範囲クエリを使用して、ある日付より前または後の日付、または日付の範囲内にある日付を検索できます。 日付の書式設定は、ISO8601 標準の YYYY-MM-DD (年-月-日) に従う必要があります。

クエリ
>YYYY-MM-DDcats created:>2016-04-29 は、2016 年 4 月 29 日より後に作成された "cats" というワードを含む issue とマッチします。
>=YYYY-MM-DDcats created:>=2017-04-01 は、2017 年 4 月 1 日以降に作成された "cats" というワードを含む issue とマッチします。
<YYYY-MM-DDcats pushed:<2012-07-05 は、2012 年 7 月 5 日より前にプッシュされた "cats" というワードを含むリポジトリとマッチします。
<=YYYY-MM-DDcats created:<=2012-07-04 は、2012 年 7 月 4 日以前に作成された "cats" というワードを含む issue とマッチします。
YYYY-MM-DD..YYYY-MM-DDcats pushed:2016-04-30..2016-07-04 は、2016 年 4 月末から 7 月の間にプッシュされた "cats" というワードを含むリポジトリとマッチします。
YYYY-MM-DD..*cats created:2012-04-30..* は、2012 年 4 月 30 日以降に作成された "cats" というワードを含む issue とマッチします。
*..YYYY-MM-DDcats created:*..2012-07-04 は、2012 年 7 月 4 日以前に作成された "cats" というワードを含む issue とマッチします。

日付の後にオプションの時刻情報 THH:MM:SS+00:00 を追加して、時間、分、秒で検索することもできます。 これは、T の後に HH:MM:SS (時-分-秒)、UTC オフセット (+00:00) が続きます。

クエリ
YYYY-MM-DDTHH:MM:SS+00:00cats created:2017-01-01T01:00:00+07:00..2017-03-01T15:30:15+07:00 は、UTC オフセットが 07:00 の 2017 年 1 月 1 日午前 1 時から UTC オフセットが 07:00 の 2017 年 3 月 1 日午後 3 時の間に作成された issue とマッチします。
YYYY-MM-DDTHH:MM:SSZcats created:2016-03-21T14:11:00Z..2016-04-07T20:45:00Z は、2016 年 3 月 21 日午後 2 時 11 分から 2016 年 4 月 7 日午後 8 時 45 分の間に作成された issue とマッチします。

修飾子に一致する結果を除外する

検索結果を絞り込むには、1 つ以上のサブセットを除外します。 修飾子に一致する結果をすべて除外するには、ハイフン (-) をプレフィックスとして検索修飾子に設定します。

クエリ
-QUALIFIERcats stars:>10 -language:javascript は、10 個を超える星を持つが、JavaScript では記述されていない "cats" というワードを持つリポジトリとマッチします。
-QUALIFIERmentions:defunkt -org:github は、GitHub Organization のリポジトリに存在していない @defunkt をメンションしている issue と一致します。

特定のキーワードを含む結果を除外する

NOT 構文を使用して、特定のワードを含む結果を除外できます。 NOT 演算子は、文字列キーワードにのみ使用できます。 数や日付では機能しません。

クエリ
NOThello NOT world は、"hello" というワードを持ち、"world" というワードを持たないリポジトリとマッチします。

空白のあるクエリに引用符を使う

検索クエリに空白がある場合は引用府で囲む必要があります。 次に例を示します。

  • cats NOT "hello world" は、"cats" というワードを持ち、"hello world" というワードを持たないリポジトリとマッチします。
  • build label:"bug fix" は、"bug fix" というラベルを持つ "build" というワードを含む issue とマッチします。

ユーザ名によるクエリ

検索クエリに useractorassignee のようなユーザー名を必要とする修飾子が含まれている場合、GitHub ユーザー名を使用して特定の個人を指定したり、@me を使用して現在のユーザーを指定したりすることができます。

クエリ
QUALIFIER:USERNAMEauthor:nat は @nat が作成したコミットとマッチします
QUALIFIER:@meis:issue assignee:@me は、結果を閲覧しているユーザーに割り当てられた issue とマッチします

@me は修飾子と一緒にのみ使用でき、@me main.workflow のように検索用語として使用することはできません。