検索キーワードを入力
カテゴリーを選択

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

投稿日:2024年11月01日(金)
開発者必見!Githubのフィルター(filter)で絞り込み検索する方法+コマンド付き|UMENOKI|すぐに仕事で使えるIT技術情報メディア

みなさんこんにちは!エンジニアの高澤です!

今回は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:title検索する文字列を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:prPull Requestのみを検索。is:pr

→ Pull Requestのみを検索
is:issueIssueのみを検索。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公式ページにてこのフィルターについて詳しく解説しておりますので、より深く理解したい方はこちらをご確認ください。

https://docs.github.com/ja/issues/tracking-your-work-with-issues/using-issues/filtering-and-searching-issues-and-pull-requests

まとめ

GitHubのフィルター(filter)で絞り込み検索する方法についての解説は以上になります。

当記事で解説した各種コマンドを利用することによって、GitHubの「Pull requests(プルリクエスト)」と「Issues(イシュー)」の一覧を細かく絞り込み検索することが可能です。

チーム開発での作業効率を上げるために、今回ご紹介した便利なコマンドをぜひ活用してみてください。

業務の効率化につながること間違いありませんので、お仕事などで必要なときによろしければぜひこの記事を参考にしていただければ幸いです。

執筆者

UMENOKI編集部 高澤 翔汰

歴5年目(2024年8月以降から5年目です)のエンジニアです!
CMSでのサイト構築とWebデザイン制作を兼任して5年目になります。
自作のiOSアプリ(iPhoneアプリ)やWordPressプラグインを開発することもあり、まだまだ現在進行形で勉強中です!

お気軽に皆さんのご要望をお聞かせください!

どんなに些細なことでも構いません!よろしければ記事や当サイトへの「こんな記事があったら仕事とかで役に立つな〜」や「こうだったらもっと役に立つのに!」といったようなご要望等をお気軽にお聞かせください!今後のサービス改善にお役立てさせていただきます!

例1)Reactの技術記事を書いてほしい!
例2)WordPressの使い方とかを初心者向けに解説してほしい!...など

送信と同時にプライバシーポリシーに同意したものとします。