コードの検索
GitHub Enterprise 上のコードを検索することができます。そして、これらのコードを検索する修飾子を組み合わせることで、検索結果を絞ることができます。
GitHub Enterprise 全体にわたってグローバルにコードを検索できます。あるいは、特定のリポジトリや Organization のみのコードの検索もできます。 パブリックリポジトリのすべてにわたってコードを検索するには、GitHub Enterprise にサインインしていなければなりません。 詳細は「GitHub 上での検索について」を参照してください。
これらのコード検索の修飾子を使わなければ、コードを検索できません。 リポジトリ、ユーザまたはコミットの特定の修飾子での検索は、コードを検索する場合、うまくいきません。
参考:
- これは GitHub.com Web サイトでの検索例ですが、同じ検索フィルタは GitHub Enterprise Server インスタンス でも利用できます。
- 検索結果をさらに改善するために検索条件に追加できる検索構文のリストについては、「検索構文を理解する」を参照してください。
- 複数の語を含む検索文字列は、引用符で囲ってください。たとえば "In progress" というラベルを持つ Issue を検索したい場合には、
label:"in progress"
を検索します。検索では大文字と小文字は区別されません。
ここには以下の内容があります:
- コード検索での留意点
- ファイルの内容またはファイルパスで検索
- ユーザまたは Organization のリポジトリ内の検索
- 場所で検索
- 言語で検索
- ファイルサイズで検索
- ファイル名で検索
- ファイルの拡張子で検索
コード検索での留意点
コードの検索は複雑なため、検索の実行には一定の制限があります。
- すべてのパブリックリポジトリにわたってコードを検索するには、サインインしなければなりません。
- フォークのコードは、親リポジトリより Star が多い場合に限って検索可能です。 親リポジトリより Star が少ないフォークは、コード検索ではインデックスされません。 親リポジトリより Star が多いフォークを検索結果に含めるためには、クエリに
fork:true
またはfork:only
を追加する必要があります。 詳細は「フォーク内で検索する」を参照してください。 - コード検索では、デフォルトブランチのみインデックスされます。 ほとんどの場合、これは、
master
ブランチです。* 5 MB より小さいファイルのみ検索可能です。 - 各ファイルの最初の 500 KB のみ検索可能です。
- 500,000 より少ないファイル数のリポジトリのみ検索可能です。
- サインインしているユーザは、すべてのパブリックリポジトリを検索可能です。 匿名での検索は、
org:
、user:
、またはrepo:
の制限を含んでいなければなりません。 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」が含まれているコードにマッチします。 |
ユーザまたは Organization のリポジトリ内の検索
特定のユーザまたは Organization のすべてのリポジトリのコードを検索するには、user
修飾子または org
修飾子を使います。 特定のリポジトリのコードを検索するには、repo
修飾子を使います。
修飾子 | サンプル |
---|---|
user:<em>USERNAME</em> |
user:defunkt extension:rb は、末尾が .rb の @defunkt からのコードにマッチします。 |
org:<em>ORGNAME</em> |
org:github extension:js は、末尾が .js の GitHub からのコードにマッチします。 |
repo:<em>USERNAME/REPOSITORY</em> |
repo:mozilla/shumway extension:as は、末尾が .as の @mozilla の shumway project からのコードにマッチします。 |
ファイルの場所での検索
リポジトリの特定の場所に表示されているソースコードを探すには、path
修飾子を使います。 リポジトリの root レベルにあるファイルを検索するには、path:/
を使います。 または、ディレクトリやそのサブディレクトリ内に存在しているファイルを検索するには、ディレクトリ名もしくはディレクトリへのパスを明示してください。
修飾子 | サンプル |
---|---|
path:/ |
octocat filename:readme path:/ は、リポジトリの root レベルに存在する 「octocat」という単語がある readme ファイルにマッチします。 |
path:<em>DIRECTORY</em> |
form path:cgi-bin language:perl は、 cgi-bin ディレクトリやそのサブディレクトリにある「form」という単語がある Perl のファイルにマッチします。 |
path:<em>PATH/TO/DIRECTORY</em> |
console path:app/public language:javascript は、 app/public ディレクトリやそのサブディレクトリ (たとえば app/public/js/form-validators に属すものも) にある「console」という単語がある JavaScript のファイルにマッチします。 |
言語で検索
コードが書かれた言語で検索することができます。
修飾子 | サンプル |
---|---|
language:<em>LANGUAGE</em> |
element language:xml size:100 は、XML 形式でちょうど 100 バイトであり「element」という単語があるコードにマッチします。 |
display language:scss は、SCSS 形式の「display」という単語があるコードにマッチします。 | |
org:mozilla language:markdown は、Markdown 形式の @mozilla のすべてのリポジトリからのコードにマッチします。 |
ファイルサイズで検索
コードが存在するファイルのサイズによってソースコードを検索するには、size
修飾子を使います。 size
修飾子は、ファイルのバイトサイズによって検索結果を仕分けするために、不等号や範囲の修飾子を使います。
修飾子 | サンプル |
---|---|
size:<em>n</em> |
function size:>10000 language:python は、10 KB より大きいファイルにある Python で記述された「function」という単語があるコードにマッチします。 |
ファイル名で検索
filename
修飾子は、特定のファイル名を持つコードファイルにマッチします。 ファイルファインダーを使ってリポジトリにあるファイルを表示できます。 詳細は「GitHub でファイルを検索する」を参照してください。
修飾子 | サンプル |
---|---|
filename:<em>FILENAME</em> |
filename:linguist は、「linguist」と名付けられたファイルにマッチします。 |
filename:.vimrc commands は、「commands」という単語がある .vimrc ファイルにマッチします。 | |
filename:test_helper path:test language:ruby は、 test ディレクトリ内の test_helper と名付けられた Ruby のファイルにマッチします。 |
ファイルの拡張子で検索
extension
修飾子は、特定のファイル拡張子のあるファイルにマッチします。
修飾子 | サンプル |
---|---|
extension:<em>EXTENSION</em> |
form path:cgi-bin extension:pm は、 .pm というファイル拡張子を伴う cgi-bin にある「form」という単語があるコードにマッチします。 |
icon size:>200000 extension:css は、「icon」という単語がある、末尾が .css の、200 KB より大きいファイルにマッチします。 |