Skip to main content

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

コードの検索

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

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

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

Tips:

  • This article contains links to example searches on the GitHub.com website, but you can use the same search filters with GitHub Enterprise Server. In the linked example searches, replace github.com with the hostname for your GitHub Enterprise Server instance.
  • For a list of search syntaxes that you can add to any search qualifier to further improve your results, see "Understanding the search syntax".
  • Use quotations around multi-word search terms. For example, if you want to search for issues with the label "In progress," you'd search for label:"in progress". Search is not case sensitive.

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

  • すべてのパブリック リポジトリに渡ってコードを検索するには、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 を超えるファイルとマッチします。

参考資料