開発者必見!Githubのフィルター(filter)で絞り込み検索する方法+コマンド付き

みなさんこんにちは!エンジニアの高澤です!
今回はGitHubのフィルター(filter)で絞り込み検索する方法について解説していきたいと思います。
お仕事でチーム開発をしていらっしゃる方はほぼほぼ必須のGitHubですが、当記事ではこのGitHubの小わざ集というか、地味に便利なコマンドをみなさんへお届けしたいと思います。
業務の効率化になることは間違いないので、よろしければ繰り返しお役立ていただけましたら幸いです。
GitHubとは
まずそもそもGitHubとGitについての前提知識が必須なので、事前にわかりやすく解説しておきたいと思います。
GitHubとは、ソフトウェア開発におけるコード管理や共同作業を便利にするためのWebサービスのことをいいます。

開発者はGitHubを使って、プログラムコードを「リポジトリ」と呼ばれる場所に保存し、変更履歴を記録しながらプロジェクトを管理できます。
GitHubの基本機能には、バージョン管理とチームでの協力が含まれます。
GitHubは「Git」というバージョン管理システムをベースにしていて、誰が、いつ、どの部分を変更したかを記録するため、開発中のコードにミスがあっても簡単に過去の状態に戻せます。
たとえば、Webサイトやアプリを作っているときに間違えてバグを導入してしまっても、GitHubで簡単に修正前の状態に戻すことができます。
GitHubは個人の学習にもチームでの共同作業にも役立ちます。「プルリクエスト(PR)」という機能を使うと、他のメンバーが加えた変更内容を確認し、問題がなければ採用(マージ)できます。
また、プルリクエスト上でコメントしたり、提案を交わしたりすることで、チーム内でのコミュニケーションもスムーズになります。
さらに、GitHubでは他の開発者が公開しているプロジェクトを見ることもできるため、自分の学習に役立てたり、オープンソースプロジェクトに貢献したりすることも可能です。こうした仕組みがあることで、GitHubはソフトウェア開発だけでなく、デザインやドキュメント制作などにも広く利用されています。
初心者の方は、まずGitHubにアカウントを作り、基本的な操作(リポジトリの作成や変更の記録)を試してみることから始めるのがよいでしょう。
Gitとは
Gitとは、ファイルの変更履歴を管理するためのバージョン管理システムのことをいいます。

開発者がローカル環境で記述したソースコードやドキュメントの変更などを記録し、複数人で安全に共同作業を行えるようにするのがGitの役割です。
Gitは、複数人でのソフトウェア開発や長期間にわたるプロジェクトにおいて非常に便利で、ファイルの内容やバージョンの変更を「コミット」という単位で記録し、変更内容をいつでも確認、復元できるようにしてくれます。
Gitの大きな特徴は、分散型であることです。つまり、各メンバーのコンピュータにもリポジトリ(プロジェクトのデータベース)の全体が保存されるので、インターネットがなくても変更履歴の確認や編集作業ができます。
これにより、インターネット環境が不安定な場所でも開発が進めやすくなります。
コマンドを入力する場所
GitHubとGitがわかったところで、早速コマンドを入力する場所について解説させていただきます。
当記事で解説するコマンドは、「Pull requests(プルリクエスト)」と「Issues(イシュー)」の2つで利用することが可能です。
「Pull requests」とは、開発者が作業ブランチで行ったコードの変更をメインのリポジトリに反映するよう提案する機能です。
「Issues」とは、プロジェクト内での問題や改善提案を記録し、管理するための機能です。
コマンドを入力する場所は下図の「Pull requests(プルリクエスト)」と「Issues(イシュー)」のタブを開いた一覧の「Filters」という検索バーの部分になります。
具体的には下図の検索バーになります。

それぞれ見ていくと下図が「Pull requests」の検索バーになります。

そして下図が「Issues(イシュー)」の検索バーになります。

どちらも画面上に検索バーがありますので、ご確認いただければと思います。
次は各種便利なコマンドを解説いたします。
便利なコマンド一覧
それでは、GitHubで使える便利なコマンドについて解説したいと思います。
いずれも「Pull requests(プルリクエスト)」もしくは「Issues(イシュー)」を絞り込み検索するための便利なコマンドになりますので、お仕事にフルにご活用いただけましたら幸いです。
コマンド | 内容 | コマンド例 |
---|---|---|
in:ti tle | 検索する文字列をIssueやPRのタイトルに含むものを検索する。 | in:title 修正 → タイトルに「修正」を含むIssueやPull Requestを検索 |
in:title,body | 検索する文字列をIssueやPRのタイトルと本文の両方に含むものを検索する。 | in:title,body バグ → タイトルまたは本文に「バグ」を含むIssueやPull Requestを検索 |
in:comment | コメントに含まれる検索文字列を探す。 | in:comment テスト → コメントに「テスト」を含むIssueやPull Requestを検索 |
is:public | リポジトリ全体を検索する場合に、公開リポジトリ内のものを検索。 | is:public → 公開リポジトリ内のIssueやPull Requestを検索 |
is:private | リポジトリ全体を検索する場合に、プライベートリポジトリ内のものを検索(自分に権限がある場合のみ)。 | is:private → プライベートリポジトリ内のIssueやPull Requestを検索(自分に権限がある場合のみ) |
author:<username> | 指定されたユーザーが作成したIssueまたはPull Requestを検索。 | author:octocat → ユーザー「octocat」が作成したIssueやPull Requestを検索 |
assignee:<username> | 指定されたユーザーが現在アサインされているIssueまたはPull Requestを検索。 | assignee:octocat → ユーザー「octocat」がアサインされているIssueやPull Requestを検索 |
mentioned:<username> | 指定されたユーザーがメンションされているIssueまたはPull Requestを検索。 | mentioned:octocat → ユーザー「octocat」がメンションされているIssueやPull Requestを検索 |
commenter:<username> | 指定されたユーザーがコメントしたIssueまたはPull Requestを検索。 | commenter:octocat → ユーザー「octocat」がコメントしたIssueやPull Requestを検索 |
involves:<username> | 作成者・アサイン・メンション・コメントのいずれかに指定ユーザーが関わるIssueやPRを検索。 | involves:octocat → 作成者・アサイン・メンション・コメントのいずれかにユーザー「octocat」が関わるIssueやPull Requestを検索 |
team:<org/team> | チームに対してメンションされたIssueまたはPull Requestを検索。 | team:github/engineering → 「github」組織の「engineering」チームがメンションされたIssueやPull Requestを検索 |
state:open | オープン状態のIssueやPull Requestを検索。 | state:open → オープン状態のIssueやPull Requestを検索 |
state:closed | クローズ状態のIssueやPull Requestを検索。 | state:closed → クローズ状態のIssueやPull Requestを検索 |
label:<label> | 特定のラベルが付けられたIssueまたはPull Requestを検索。複数指定可。 | label:bug → 「bug」ラベルが付けられたIssueやPull Requestを検索 |
-label:<label> | 指定のラベルが付けられていないIssueまたはPull Requestを検索。 | -label:enhancement → 「enhancement」ラベルが付いていないIssueやPull Requestを検索 |
no:label | ラベルが付いていないIssueまたはPull Requestを検索。 | no:label → ラベルが付いていないIssueやPull Requestを検索 |
no:assignee | アサインされていないIssueまたはPull Requestを検索。 | no:assignee → アサインされていないIssueやPull Requestを検索 |
no:milestone | マイルストーンが設定されていないIssueまたはPull Requestを検索。 | no:milestone → マイルストーンが設定されていないIssueやPull Requestを検索 |
language:<lang> | 特定の言語で書かれたリポジトリ内のIssueまたはPull Requestを検索。 | language:python → Pythonで書かれたリポジトリ内のIssueやPull Requestを検索 |
is:open | オープン状態のIssueまたはPull Requestを検索(state と同様の機能)。 | is:open → オープン状態のIssueやPull Requestを検索 |
is:closed | クローズ状態のIssueまたはPull Requestを検索(state と同様の機能)。 | is:closed → クローズ状態のIssueやPull Requestを検索 |
is:merged | マージ済みのPull Requestを検索。 | is:merged → マージ済みのPull Requestを検索 |
is:unmerged | マージされていないPull Requestを検索。 | is:unmerged → マージされていないPull Requestを検索 |
is:pr | Pull Requestのみを検索。 | is:pr → Pull Requestのみを検索 |
is:issue | Issueのみを検索。 | is:issue → Issueのみを検索 |
created:<date> | 指定の日付以前に作成されたIssueまたはPull Requestを検索。 | created:<2024-01-01 → 2024年1月1日以前に作成されたIssueやPull Requestを検索 |
updated:>=<date> | 指定の日付以降に更新されたIssueまたはPull Requestを検索。 | updated:>=2024-01-01 → 2024年1月1日以降に更新されたIssueやPull Requestを検索 |
merged:<date> | 指定の日付にマージされたPull Requestを検索。 | merged:2024-01-01 → 2024年1月1日にマージされたPull Requestを検索 |
closed:<date> | 指定の日付にクローズされたIssueまたはPull Requestを検索。 | closed:2024-01-01 → 2024年1月1日にクローズされたIssueやPull Requestを検索 |
comments:>100 | コメントが100件以上あるIssueまたはPull Requestを検索。 | comments:>100 → コメントが100件以上あるIssueやPull Requestを検索 |
comments:500..1000 | コメント数が500から1000の範囲内のIssueまたはPull Requestを検索。 | comments:500..1000 → コメント数が500から1000の範囲内のIssueやPull Requestを検索 |
sort:created-asc | 作成日時を昇順に並べて表示。 | sort:created-asc → 作成日時を昇順に並べて表示 |
sort:created-desc | 作成日時を降順に並べて表示。 | sort:created-desc → 作成日時を降順に並べて表示 |
sort:updated-asc | 更新日時を昇順に並べて表示。 | sort:updated-asc → 更新日時を昇順に並べて表示 |
sort:updated-desc | 更新日時を降順に並べて表示。 | sort:updated-desc → 更新日時を降順に並べて表示 |
sort:commented-desc | コメント数の多い順に並べて表示。 | sort:commented-desc → コメント数の多い順に並べて表示 |
sort:commented-asc | コメント数の少ない順に並べて表示。 | sort:commented-asc → コメント数の少ない順に並べて表示 |
また、以下のGitHub公式ページにてこのフィルターについて詳しく解説しておりますので、より深く理解したい方はこちらをご確認ください。
まとめ
GitHubのフィルター(filter)で絞り込み検索する方法についての解説は以上になります。
当記事で解説した各種コマンドを利用することによって、GitHubの「Pull requests(プルリクエスト)」と「Issues(イシュー)」の一覧を細かく絞り込み検索することが可能です。
チーム開発での作業効率を上げるために、今回ご紹介した便利なコマンドをぜひ活用してみてください。
業務の効率化につながること間違いありませんので、お仕事などで必要なときによろしければぜひこの記事を参考にしていただければ幸いです。
お気軽に皆さんのご要望をお聞かせください!
どんなに些細なことでも構いません!よろしければ記事や当サイトへの「こんな記事があったら仕事とかで役に立つな〜」や「こうだったらもっと役に立つのに!」といったようなご要望等をお気軽にお聞かせください!今後のサービス改善にお役立てさせていただきます!
例1)Reactの技術記事を書いてほしい!
例2)WordPressの使い方とかを初心者向けに解説してほしい!...など