これまで私が知らずに損をしていたので記事にしました。
タイトルの通り、GitHubのサイト上でコミットメッセージの検索が出来ます。以上。スミマセン。
私は最近初めてこの機能を知ってかなり感動したのですが、実は2017年ごろから出来ていたようです。完全に取り残されていた。
勉強熱心な方は知っていて当然だと思いますが、私のような怠惰な男は全く気付いていませんでした。悲しい。
リポジトリ検索
リポジトリ検索で検索できるのは以下になります。
GitHubでの検索の種類
以下の情報は、GitHub でアクセスできるすべてのリポジトリから検索できます。
リポジトリ
Topics
Issue およびプルリクエスト
ディスカッション
コード
コミット
ユーザ
パッケージ
Wiki
部分一致ではなく単語一致
GitHub のリポジトリ検索では「部分一致ではなく単語一致」したものしか検索結果に出てこないことは注意が必要です。これは結構紛らわしい。やはり、ちゃんと検索したいならCloneしてGrepですかね。
GitHub のリポジトリ検索を使う時には「部分一致ではなく単語一致」「Clone して Grep する」の二点を意識する
高度な検索
"Advanced search" から高度な検索も出来ますが、取り急ぎ私のような怠惰な男では使いそうにないので、詳細は省きます。
あることだけ覚えておけば、今後役に立つ時が来るでしょう。
コード検索
ちなみにコード検索も出来ますが結構制約が多いです。ある程度仕様を理解した上で使った方が良さそうですね。
コード検索での留意点
コード検索での留意点
コードの検索は複雑なため、検索の実行には一定の制限があります。
* You must be signed into a user account on GitHub to search for code across all public repositories.
* フォークのコードは、親リポジトリより Star が多い場合に限って検索可能です。 親リポジトリより Star が少ないフォークは、コード検索ではインデックスされません。 親リポジトリより Star が多いフォークを検索結果に含めるためには、クエリに fork:true または fork:only を追加する必要があります。 詳細は「フォーク内で検索する」を参照してください。
* コード検索では、デフォルトブランチのみインデックスされます。
* 384 KB より小さいファイルのみ検索可能です。
* 500,000 ファイル未満のリポジトリのみが検索可能です。
* 昨年アクティビティがあった、または検索結果に返されたリポジトリのみが検索可能です。
* filename の検索を除き、ソースコードを検索する場合、常に少なくとも検索単語を 1 つ含める必要があります。 たとえばlanguage:javascript は有効な検索ではありませんが、amazing language:javascript は有効な検索です。
* 検索結果では、同一ファイルから取り出される部分は 2 つまでです。そのファイルはさらに多くの部分でヒットしている可能性があります。
* クエリの一部として次のワイルドカード文字を用いることはできません: . , : ; / \ ` ' " = * ! ? # $ & + ^ | ~ < > ( ) { } [ ]。 検索では、これらのシンボルは単に無視されます。
「コード検索では、デフォルトブランチのみインデックスされます。」
→まぁ、検索したいのは基本的にマスタブランチなので大丈夫
「検索結果では、同一ファイルから取り出される部分は 2 つまでです。」
→これは知っておかないと痛い目に遭う