1. ホーム
  2. ギット

[解決済み】Githubプロジェクト内のコードを検索する

2022-03-26 14:46:28

質問

Githubプロジェクトのコード内の何かをgrepする方法はありますか?

ソースを引っ張ってきてローカルでgrepすることもできますが、Webインターフェースやサードパーティの代替手段で可能なのかどうか気になりました。

アイデアはありますか?

解決方法は?

2021年12月更新:検索は 再び改善されました , 正確な文字列を検索し、部分文字列のマッチと特殊文字、または正規表現をサポートするようになりました。

ただし cs.github.com まだベータ版です(キャンセル待ちが必要です)。


2013年1月のアップデート:a 新しい検索が登場 に基づいています。 elasticsearch.org :

ruby リポジトリ内の stat を検索する場合は、次のように表現されます。 stat repo:ruby/ruby と表示され、そのまま動作します。 TM .

(レポ名は大文字・小文字を区別しません。 test repo:wordpress/wordpress と同じものを返します。 test repo:Wordpress/Wordpress )

与えるだろう。

そして、他にも多くの検索例がありますね、ベースは フォロワー数 または フォークに あるいは...


2012年7月更新 (古い時代の Lucene 検索と貧弱なコードインデックス、壊れた GUI を組み合わせて、アーカイブのためにここに保管)。

検索(ベースとなるのは SolrQuerySyntax がより寛容になり、恐ろしい " Invalid search query. Try quoting it. を使用している場合、そのようなことはありません。 デフォルト 検索セレクタ "Everything":)

(私たちは皆、より ティム・ピーズ その目的のひとつは GitHubの全プロパティにおいて、より良い検索体験を実現するためのハッキング 私はこのStack Overflowの質問について言及しました。 ということです。) )

これは、レポとユーザーを探しますが、次のようなコードです。 また を検索したかったのですが、それはコードでした。


前号(2012年9月=> 2012年3月)の初回回答・図解

を使用することができます。 詳細検索GitHubフォーム :

  • 選択する Code , Repositories または Users をドロップダウンから選択し
  • を使用します。 その検索タイプに対応する接頭辞をリストアップ .

例えば repo:username/repo-name ディレクティブを使って、検索対象を コード レポジトリを使用します。

初期の" Advanced Search "ページには、このセクションが含まれています。

コード 検索してください。

コード検索は、GitHubで公開されているすべてのコードを検索します。また、.NETでフィルタリングすることもできます。

  • 言語 language:
  • リポジトリ名(ユーザー名を含む) repo:
  • ファイルパス path:

そこで、"を選択した場合。 Code 検索セレクタを使用すると、レポ内のテキストを検索するクエリが動作します。


とは何ですか? 信じられないほど 役立たず from GitHubということです。

  • 正しい検索セレクタを入れ忘れた場合(ここでは " Code ")とエラーメッセージが表示されます。

    " Invalid search query. Try quoting it. "

  • エラーメッセージは全く役に立ちません。

    いくら"でも。 quoting it "では、このエラーから抜け出すことはできません。

  • このエラーメッセージが表示されると、searchとsearchの間の正しい関連付けを思い出させるセクションが表示されなくなります。 セレクタ (" Repositories "、" Users "または " Language ")と、(右の)検索 フィルター (ここでは " repo: ")。

    これ以上やっても、それらの関連付け(セレクタ-フィルタ)は戻ってきません。上記のようなエラーメッセージが表示されるだけです...。

    これらの配列を戻す唯一の方法は、"をクリックすることです。 Advance Search アイコンが表示されます。

  • the " Everything "検索セレクタは、デフォルトでは、実際には 誤った のためのものです。 すべて を検索することができます。ただし、"を除く。 language: "...

    (" を想像/仮定することができます。 Everything "は、検索フィルタ "で実際に動作する検索セレクタを選ぶのに役立ちます。 repo: "、でもダメ。それは簡単すぎるでしょう)

  • は、"から希望の検索セレクタを指定することができません。 Advance Search フィールドだけです。

    (ただし、"には可能です。 language: "であっても、" Search Language のすぐ下にある別のコンボボックスです。 Search for "「タイプ」のほうは...)


つまり、ユーザーの体験は通常、次のようになります。

  • をクリックします。 Advanced Search をクリックし、これらのフィルタセクションに目を通し、使いたいフィルタがあることを確認します。 repo: "
  • 最初の高度な検索を行います。 repo:jruby/jruby stat ただし、デフォルトの検索セレクタは「quot; Everything "。

    => FAIL ! (そして、関連付け "セレクタ-フィルタ" を表示する配列は なくなった )
  • を検索してください。 最初 を選択します "。 Repositories "("ダー!リポジトリ内を検索したい...")。

    => FAIL !
  • を捨てて、次の選択肢のセレクタを選択します(ここでは、" Users そのセレクタを見ずに、もう一回だけ試してみる...。

    => FAIL !
  • "くそくらえ、GitHubの検索は 壊れた ! もう帰るよ!"

    ...

    (GitHubの詳細検索は実は壊れていない。 GUIだけが壊れている...)

つまり、要約すると、Githubプロジェクトのコード内の何かを"grepしたい場合、OPのように ベン・ハンフリーズ を選択することを忘れないでください。 Code 検索セレクタ...