Skip to main content

このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2023-01-18. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの向上、新機能の向上を図るために、最新バージョンの GitHub Enterprise にアップグレードします。 アップグレードに関するヘルプについては、GitHub Enterprise サポートにお問い合わせく� さい

コードの検索

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

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

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

ヒント:

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

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

  • すべてのパブリック リポジトリに渡ってコードを検索するには、GitHub Enterprise Server 上の個人アカウントにサインインしなければなりません。
  • フォーク内のコードは、フォークの星の数が親リポジトリよりも多い� �合にのみ検索できます。 親リポジトリより星の数が少ないフォークは、コード検索ではインデックス されません。 検索結果に親よりも星の数が多いフォークを含めるには、クエリに fork:true または fork:only を追� する必要があります。 詳細については、「フォーク内を検索する」を参照してく� さい。
  • コード検索用にインデックスが作成されるのは "既定のブランチ" � けです。* 5 MB より小さいファイルのみ検索可能です。
  • 各ファイルの最初の 500 KB のみ検索可能です。
  • 最大 4,000 個のプライベート リポジトリと内部 リポジトリが検索可能です。 これら 4,000 個のリポジトリは、アクセス権がある最初の 10,000 個のプライベート リポジトリと内部リポジトリのうち、最近更新されたものです。
  • ファイル数が 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 のリポジトリ内の検索

特定のユーザーまたは組織が所有するすべてのリポジトリのコードを検索するには、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 プロジェクトのコードとマッチします。

ファイルの� �所での検索

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

修飾子
path:/octocat filename:readme path:/ は、リポジトリのルート レベルにある「octocat」という単語を含む readme ファイルとマッチします。
path:DIRECTORYform path:cgi-bin language:perl は、cgi-bin ディレクトリまたはそのサブディレクトリ内の「form」という単語を含む Perl ファイルとマッチします。
path:PATH/TO/DIRECTORY console path:app/public language:javascript は、app/public ディレクトリまたはそのサブディレクトリ (app/public/js/form-validators を含む) 内の「console」という単語を含む JavaScript ファイルとマッチします。

言語で検索

コードが書かれた言語で検索することができます。 language 修飾子には、言語名またはエイリアスを指定できます。 サポートされている言語とその名前とエイリアスの完全な一覧については、github/linguist リポジトリを参照してく� さい。

修飾子
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 の下の「form」という単語を含み .pm というファイル拡張子を持つコードとマッチします。
icon size:>200000 extension:css は、.css で終わり「icon」という単語を含む 200 KB を超えるファイルとマッチします。

参考資料