ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。

コードの検索

GitHub 上のコードを検索することができます。そして、これらのコードを検索する修飾子を組み合わせることで、検索結果を絞ることができます。

GitHub 全体にわたってグローバルにコードを検索できます。あるいは、特定のリポジトリや Organization のみのコードの検索もできます。 パブリックリポジトリのすべてにわたってコードを検索するには、GitHub にサインインしていなければなりません。 詳細は「GitHub 上での検索について」を参照してください。

これらのコード検索の修飾子を使わなければ、コードを検索できません。 リポジトリ、ユーザまたはコミットの特定の修飾子での検索は、コードを検索する場合、うまくいきません。

参考:

  • 検索結果を改良する検索修飾子を追加できる検索構文のリストについては、「検索構文を理解する」を参照してください。
  • 複数単語の検索用語は引用符で囲みます。 たとえば "In progress" というラベルを持つ Issue を検索したい場合は、label:"in progress" とします。 検索では、大文字と小文字は区別されません。

ここには以下の内容があります:

コードの検索は複雑なため、検索の実行には一定の制限があります。

  • すべてのパブリックリポジトリにわたってコードを検索するには、サインインしなければなりません。

  • フォークのコードは、親リポジトリより Star が多い場合に限って検索可能です。 親リポジトリより Star が少ないフォークは、コード検索ではインデックスされません。 親リポジトリより Star が多いフォークを検索結果に含めるためには、クエリに fork:true または fork:only を追加する必要があります。 詳細は「フォーク内で検索する」を参照してください。

  • Only the default branch is indexed for code search. ほとんどの場合、これは、master ブランチです。

  • 384 KB より小さいファイルのみ検索可能です。

  • 500,000 より少ないファイル数のリポジトリのみ検索可能です。

  • サインインしているユーザは、すべてのパブリックリポジトリを検索可能です。

  • filename の検索を除き、ソースコードを検索する場合、常に少なくとも検索単語を 1 つ含める必要があります。 たとえばlanguage:javascript は有効な検索ではありませんが、amazing language:javascript は有効な検索です。

  • 検索結果では、同一ファイルから取り出される部分は 2 つまでです。そのファイルはさらに多くの部分でヒットしている可能性があります。

  • クエリの一部として次のワイルドカード文字を用いることはできません: . , : ; / \ ` ' " = * ! ? # $ & + ^ | ~ < > ( ) { } [ ]. 検索では、これらのシンボルは単に無視されます。

ファイルの内容またはファイルパスで検索

in 修飾子によって、ソースコードファイル、ファイルパスまたはその両方の内容に検索を限定することができます。 この修飾子を省略した場合、ファイルの内容だけが検索されます。

修飾子 サンプル
in:file octocat in:file は、ファイルの内容に「octocat」が出現するコードにマッチします。
in:path octocat in:path は、ファイルパスに「octocat」が含まれているコードにマッチします。
octocat in:file,path は、ファイルの内容またはファイルパスに「octocat」が含まれているコードにマッチします。

Search by the file contents for exact matches

Exact matches in code search is in beta for a limited number of users and repositories on GitHub, and is subject to change.

You can search code for exact matches that include any combination of letters, numbers, and symbols. For more information, see "Searching code for exact matches."

ユーザまたは Organization のリポジトリ内の検索

特定のユーザまたは Organization のすべてのリポジトリのコードを検索するには、user 修飾子または org 修飾子を使います。 特定のリポジトリのコードを検索するには、repo 修飾子を使います。

修飾子 サンプル
user:USERNAME user:defunkt extension:rb matches code from @defunkt that ends in .rb.
org:ORGNAME org:github extension:js matches code from GitHub that ends in .js.
repo:USERNAME/REPOSITORY repo:mozilla/shumway extension:as matches code from @mozilla's shumway project that ends in .as.

ファイルの場所での検索

リポジトリの特定の場所に表示されているソースコードを探すには、path 修飾子を使います。 リポジトリの root レベルにあるファイルを検索するには、path:/ を使います。 または、ディレクトリやそのサブディレクトリ内に存在しているファイルを検索するには、ディレクトリ名もしくはディレクトリへのパスを明示してください。

修飾子 サンプル
path:/ octocat filename:readme path:/ matches readme files with the word "octocat" that are located at the root level of a repository.
path:DIRECTORY form path:cgi-bin language:perl matches Perl files with the word "form" in a cgi-bin directory, or in any of its subdirectories.
path:PATH/TO/DIRECTORY console path:app/public language:javascript matches JavaScript files with the word "console" in an app/public directory, or in any of its subdirectories (even if they reside in app/public/js/form-validators).

言語で検索

コードが書かれた言語で検索することができます。

修飾子 サンプル
language:LANGUAGE element language:xml size:100 は、XML 形式でちょうど 100 バイトであり「element」という単語があるコードにマッチします。
display language:scss は、SCSS 形式の「display」という単語があるコードにマッチします。
org:mozilla language:markdown は、Markdown 形式の @mozilla のすべてのリポジトリからのコードにマッチします。

ファイルサイズで検索

コードが存在するファイルのサイズによってソースコードを検索するには、size 修飾子を使います。 size 修飾子は、ファイルのバイトサイズによって検索結果を仕分けするために、不等号や範囲の修飾子を使います。

修飾子 サンプル
size:n function size:>10000 language:python は、10 KB より大きいファイルにある Python で記述された「function」という単語があるコードにマッチします。

ファイル名で検索

filename 修飾子は、特定のファイル名を持つコードファイルにマッチします。 ファイルファインダーを使ってリポジトリにあるファイルを表示できます。 詳細は「GitHub でファイルを検索する」を参照してください。

修飾子 サンプル
filename:FILENAME filename:linguist は、「linguist」と名付けられたファイルにマッチします。
filename:.vimrc commands matches .vimrc files with the word "commands."
filename:test_helper path:test language:ruby matches Ruby files named test_helper within the test directory.

ファイルの拡張子で検索

extension 修飾子は、特定のファイル拡張子のあるファイルにマッチします。

修飾子 サンプル
extension:EXTENSION form path:cgi-bin extension:pm matches code with the word "form," under cgi-bin, with the .pm file extension.
icon size:>200000 extension:css は、「icon」という単語がある、末尾が .css の、200 KB より大きいファイルにマッチします。

参考リンク

担当者にお尋ねください

探しているものが見つからなかったでしょうか?

弊社にお問い合わせください