githubを検索して完全に一致するものを取得する方法(Googleで引用符が行うことなど)


216

のような引用符を使用して、Googleから完全一致を検索できます"system <<-"。githubで同様のことをするには?動かせない。

回答:


128

できません。公式のGitHub 検索ルール

コードの検索は複雑であるため、検索の実行方法にはいくつかの制限があります。

  • デフォルトのブランチのみが考慮されます。ほとんどの場合、これはマスターブランチになります。
  • 検索できるのは、384 KB未満のファイルのみです。
  • ソースコードを検索するときは、常に少なくとも1つの検索用語を含める必要があります。たとえば、検索language:goは無効ですが、有効ですamazing language:go
  • 多くても、検索結果には同じファイルからの2つのフラグメントが表示されますが、ファイル内により多くの結果がある場合があります。
  • あなたは、検索クエリの一部として、次のワイルドカード文字を使用することはできません
    . , : ; / \ ` ' " = * ! ? # $ & + ^ | ~ < > ( ) { } [ ]
    検索が簡単にこれらのシンボルを無視します。

回避策:

単一のリポジトリで検索する必要がある場合は、ローカルでクローンを作成して、grep文字列を正確に検索するために使用できます。

grep -r "system <<-" /repository_dir

351
これは酷い。なぜ彼らはそれを修正しないのですか?理想的には、正規表現で検索できるはずです。これに抗議するにはどこに行けばいいですか?:)
ダニエルダラボス2016

10
サポートに問い合わせたところ、「GitHub検索で特殊文字をエスケープする機能は、頻繁にリクエストされる機能です。何も約束することはできませんが、社内の機能リクエストリストでアイデアを+1します。」 。インデックスのサイズに依存すると思います。githubに含まれるコードが多すぎます。
DenisKolodin 2016

10
これはインデックス作成の課題だと思います。逐語的な二重引用符検索を機能させることは、現在の実装よりも桁違いに難しい可能性があります。正規表現検索を行うことは、おそらく1桁以上困難であるか、場合によっては問題を要求することさえあります。
Matt Kocaj

14
ドットを含むリテラル文字列はldap.mycomp.comどうですか... ??? !?!正規表現は必要ありません。リテラル文字列検索が必要です
Jason

1
彼らはelasticsearchを使用しているため、これは修正されていません。考慮に入れるには、新しいフィールドですべてのデータのインデックスを再作成する必要があります。これは、大量のディスクを意味します。
Thomas Decaux

44

Googleを直接使用できます。

これはどう?

"your_string_to_search" site::https://github.com
"your_string_to_search" site::https://gist.github.com

81
それは、Googleがあなたのリポジトリにアクセスできると仮定していませんか?プライベートリポジトリには当てはまりません。
Joel B

1
次のように、リポジトリ内で機能し"alias agi=" site::https://github.com/robbyrussell/oh-my-zsh
ます

1
@juanpastas検索文字列の完全な例を示すことができますか?
mrgloom

15
これは、グーグルが正確な検索を強制するための引用を依然として尊重していたときに、より理にかなっています。
Kylotan 2017年

1
@FullMetalFistたとえば、はいのように見えます"your_string_to_search" site:https://github.com filetype:cpp
mrgloom

17

今日、私はGithubの任意のリポジトリでfilter class名前が付けられlogback.xmlたファイルで完全一致を探していました。そして、私は仕事をした次のクエリを思いつきました。

"filter class" in:file filename:logback.xml

引用符で完全一致を有効にするには、 "in:file"修飾子を使用して検索する必要があります。一致は正確ではありません。「クラス」という単語は「フィルタ」という単語の後に続く必要がありますが、2つの単語の間に0個以上のスペースまたは記号文字がある可能性があります。


14
あり、なしで検索しても、動作に違いはありませんin:file
ダニエルダラボス2016

2
私もどちらでもありませんが、引用符で囲まれた "foo bar"が隣接する単語を検索するという事実は、私にとって非常に有益なニュースです
Beni Cherniavsky-Paskin

3

@ mrgloomの答えに加えて、Googleを使用してGithubで特定のプログラミング言語のコードを探している場合は、Googleの検索バーで次のようなことを行うことができます。

  • 「intext:」検索演算子を使用して、探している特定の文字列を指定します
  • 「ext:」演算子を使用して、興味のあるプログラミング言語を追加します(「ext:py」、「ext:R」、「ext:rb」など)。
  • 前述の「site:」演算子mrgloomを使用して、Githubのすべての公開リポジトリを検索します。

例:

intext:"%% 2 == 0" ext:R site:github.com

例からのGoogleの結果


1
intext:".set(" ext:JS site:github.com動作しませんでした:/
Aditya MP

あなたが正しい!理由がわかりません...試してみましたintext:"set(" inurl:.js site:github.comが、実際には
機能し

1
だから私は読み続け、どうやらかっこはグーグル検索では無視されますしかし、「ext」演算子が機能しない理由がわかりません。よると、このそれは確かに、なぜ「JS」は一つとして考えられない「ファイルタイプ」のために文書化されていないエイリアスではなく、
silviaegt

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.