このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2021-06-09. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの改善、新機能のためには、最新バージョンのGitHub Enterpriseにアップグレードしてください。 アップグレードに関する支援については、GitHub Enterprise supportに連絡してください。

コードの検索

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

GitHub Enterprise Server全体にわたってグローバルに検索できます。あるいは、検索を特定のリポジトリや Organization に絞ることもできます。 詳細については、「GitHub での検索」を参照してください。

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

参考:

  • この記事には、GitHub.com のウェブサイトでの検索例へのリンクが含まれていますが、同じ検索フィルターは GitHub Enterprise Server でも使えます。 リンクされている検索例で、github.comをGitHub Enterprise Serverのインスタンスのホスト名で置き換えてください。
  • 検索結果を改良する検索修飾子を追加できる検索構文のリストについては、「検索構文を理解する」を参照してください。
  • 複数単語の検索用語は引用符で囲みます。 たとえば "In progress" というラベルを持つ Issue を検索したい場合は、label:"in progress" とします。 検索では、大文字と小文字は区別されません。

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

  • すべてのパブリックリポジトリに渡ってコードを検索するには、GitHub Enterprise Server上のユーザアカウントにサインインしなければなりません。
  • フォークのコードは、親リポジトリより Star が多い場合に限って検索可能です。 親リポジトリより Star が少ないフォークは、コード検索ではインデックスされません。 親リポジトリより Star が多いフォークを検索結果に含めるためには、クエリに fork:true または fork:only を追加する必要があります。 詳細は「フォーク内で検索する」を参照してください。
  • コード検索では、デフォルトブランチのみインデックスされます。* 5 MB より小さいファイルのみ検索可能です。
  • 各ファイルの最初の 500 KB のみ検索可能です。
  • 500,000 ファイル未満のリポジトリのみが検索可能です。
  • filename の検索を除き、ソースコードを検索する場合、常に少なくとも検索単語を 1 つ含める必要があります。 たとえばlanguage:javascript は有効な検索ではありませんが、amazing language:javascript は有効な検索です。
  • 検索結果では、同一ファイルから取り出される部分は 2 つまでです。そのファイルはさらに多くの部分でヒットしている可能性があります。
  • クエリの一部として次のワイルドカード文字を用いることはできません: . , : ; / \ ` ' " = * ! ? # $ & + ^ | ~ < > ( ) { } [ ] @. 検索では、これらのシンボルは単に無視されます。

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

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

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

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

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

修飾子サンプル
user:USERNAMEuser:defunkt extension:rb は、末尾が .rb の @defunkt からのコードにマッチします。
org:ORGNAMEorg:github extension:js は、末尾が .js の GitHub からのコードにマッチします。
repo:USERNAME/REPOSITORYrepo:mozilla/shumway extension:as は、末尾が .as の @mozilla の shumway project からのコードにマッチします。

ファイルの場所での検索

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

修飾子サンプル
path:/octocat filename:readme path:/ は、リポジトリの root レベルに存在する 「octocat」という単語がある readme ファイルにマッチします。
path:DIRECTORYform path:cgi-bin language:perl は、cgi-bin ディレクトリやそのサブディレクトリにあって「form」という単語がある Perl のファイルにマッチします。
path:PATH/TO/DIRECTORYconsole path:app/public language:javascript は、app/public ディレクトリやそのサブディレクトリ (たとえばapp/public/js/form-validators に属すものも) にあって「console」という単語がある JavaScript のファイルにマッチします。

言語で検索

コードが書かれた言語で検索することができます。 The language qualifier can be the language name or alias. For a full list of supported languages with their names and aliases, see the [github/linguist repository]((https://github.com/github/linguist/blob/master/lib/linguist/languages.yml).

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

ファイルサイズで検索

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

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

ファイル名で検索

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

修飾子サンプル
filename:FILENAMEfilename:linguist は、「linguist」と名付けられたファイルにマッチします。
filename:.vimrc commands は、「commands」という単語がある .vimrc ファイルにマッチします。
filename:test_helper path:test language:ruby は、test ディレクトリ内の test_helper と名付けられた Ruby のファイルにマッチします。

ファイルの拡張子で検索

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

修飾子サンプル
extension:EXTENSIONform path:cgi-bin extension:pm は、cgi-bin にあって .pm というファイル拡張子を持ち 「form」という単語があるコードにマッチします。
icon size:>200000 extension:css は、200 KB より大きく「icon」という単語を含み、末尾が .css のファイルにマッチします。

参考リンク

問題がまだ解決していませんか?

GitHubコミュニティで質問するサポートへの連絡